Skip to content

Commit

Permalink
Update workflows to use SDK action
Browse files Browse the repository at this point in the history
  • Loading branch information
k0gen authored Jan 29, 2024
1 parent 49e6b83 commit 05c88e3
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 86 deletions.
55 changes: 14 additions & 41 deletions .github/workflows/buildService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,60 +4,33 @@ on:
workflow_dispatch:
pull_request:
paths-ignore: ['*.md']
branches: ['master', 'next']
branches: ['main', 'master']
push:
paths-ignore: ['*.md']
branches: ['master', 'next']
branches: ['main', 'master']

jobs:
BuildPackage:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set up Rust Toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Get embassyOS Hash
run: echo "EMBASSYHASH=$(git ls-remote https://github.com/Start9Labs/embassy-os --branch latest | awk '{ print $1}')" >> $GITHUB_ENV
- name: Cache Packages
uses: actions/cache@v3
id: packageCache
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-ride-the-lightning-${{ env.EMBASSYHASH }}
- name: Install Dependencies
run: |
sudo snap install yq deno
sudo apt-get install -y build-essential openssl libssl-dev libc6-dev clang libclang-dev ca-certificates
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1

- name: Checkout services repository
uses: actions/checkout@v3
- name: Install Package Manager
id: packageManager
if: steps.packageCache.outputs.cache-hit != 'true'
run: |
cd ~/ && git clone https://github.com/Start9Labs/embassy-os.git --branch latest;
cd embassy-os;
git submodule update --init --recursive
cd backend;
export RUSTFLAGS="";
./install-sdk.sh;

- name: Build the service package
id: build
run: |
git submodule update --init --recursive
embassy-sdk init
start-sdk init
make
mv ride-the-lightning*s9pk ~/
PACKAGE_ID=$(yq -oy ".id" manifest.*)
echo "package_id=$PACKAGE_ID" >> $GITHUB_ENV
shell: bash

- name: Upload .s9pk
uses: actions/upload-artifact@v3
with:
name: ride-the-lightning.s9pk
path: ~/*.s9pk
name: ${{ env.package_id }}.s9pk
path: ./${{ env.package_id }}.s9pk
89 changes: 44 additions & 45 deletions .github/workflows/releaseService.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,71 @@
name: Release Service

on:
workflow_dispatch:
push:
tags:
- 'v*.*'

jobs:
ReleasePackage:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set up Rust Toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Get EmbassyOS Hash
run: echo "EMBASSYHASH=$(git ls-remote https://github.com/Start9Labs/embassy-os --branch latest | awk '{ print $1}')" >> $GITHUB_ENV
- name: Cache Packages
uses: actions/cache@v3
id: packageCache
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-ride-the-lightning-${{ env.EMBASSYHASH }}
- name: Install Dependencies
run: |
sudo snap install yq deno
sudo apt-get install -y build-essential openssl libssl-dev libc6-dev clang libclang-dev ca-certificates
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1

- name: Checkout services repository
uses: actions/checkout@v3
- name: Install Package Manager
id: packageManager
if: steps.packageCache.outputs.cache-hit != 'true'
run: |
cd ~/ && git clone https://github.com/Start9Labs/embassy-os.git --branch latest;
cd embassy-os;
git submodule update --init --recursive
cd backend;
export RUSTFLAGS="";
./install-sdk.sh;

- name: Build the service package
run: |
git submodule update --init --recursive
embassy-sdk init
start-sdk init
make
- name: Setting package ID and title from the manifest
id: package
run: |
echo "package_id=$(yq -oy ".id" manifest.*)" >> $GITHUB_ENV
echo "package_title=$(yq -oy ".title" manifest.*)" >> $GITHUB_ENV
shell: bash

- name: Generate sha256 checksum
run: |
sha256sum ride-the-lightning.s9pk > ride-the-lightning.s9pk.sha256
PACKAGE_ID=${{ env.package_id }}
sha256sum ${PACKAGE_ID}.s9pk > ${PACKAGE_ID}.s9pk.sha256
shell: bash

- name: Generate changelog
run: |
PACKAGE_ID=${{ env.package_id }}
echo "## What's Changed" > change-log.txt
yq e '.release-notes' manifest.yaml >> change-log.txt
- name: Create Release
yq -oy '.release-notes' manifest.* >> change-log.txt
echo "## SHA256 Hash" >> change-log.txt
echo '```' >> change-log.txt
sha256sum ${PACKAGE_ID}.s9pk >> change-log.txt
echo '```' >> change-log.txt
shell: bash

- name: Create GitHub Release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
name: Ride The Lightning ${{ github.ref_name }}
name: ${{ env.package_title }} ${{ github.ref_name }}
prerelease: true
body_path: change-log.txt
files: |
ride-the-lightning.s9pk
ride-the-lightning.s9pk.sha256
./${{ env.package_id }}.s9pk
./${{ env.package_id }}.s9pk.sha256
- name: Publish to Registry
env:
S9USER: ${{ secrets.S9USER }}
S9PASS: ${{ secrets.S9PASS }}
S9REGISTRY: ${{ secrets.S9REGISTRY }}
run: |
if [[ -z "$S9USER" || -z "$S9PASS" || -z "$S9REGISTRY" ]]; then
echo "Publish skipped: missing registry credentials."
else
start-sdk publish https://$S9USER:$S9PASS@$S9REGISTRY ${{ env.package_id }}.s9pk
fi

0 comments on commit 05c88e3

Please sign in to comment.