Merge pull request #22 from cosmonic/update-wadm-manifests #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Hello World to AzureCR | |
on: | |
workflow_dispatch: | |
push: | |
branches: [main] | |
paths: | |
- "hello-world/**" | |
tags: | |
- "hello-world-v*" | |
env: | |
# For the release action, you'll have to set the following variables | |
WASH_ISSUER_KEY: ${{ secrets.COSMONIC_ACCOUNT_OFFICIAL }} | |
WASH_SUBJECT_KEY: ${{ secrets.AWESOME_COSMONIC_HELLO_WORLD_KEY }} | |
working-directory: "./hello-world" | |
jobs: | |
build_signed_actor: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: wasmcloud/common-actions/install-wash@main | |
- name: Add wasm32-unknown-unknown | |
run: rustup target add wasm32-unknown-unknown | |
working-directory: ${{ env.working-directory }}/rust | |
# Once you've written unit tests for your actor, you can uncomment | |
# the two lines below to automatically run tests | |
# - name: Test actor | |
# run: cargo test --target x86_64-unknown-linux-gnu -- --nocapture | |
- name: Build and sign wasmCloud actor | |
env: | |
WASH_ISSUER_KEY: ${{ env.WASH_ISSUER_KEY }} | |
WASH_SUBJECT_KEY: ${{ env.WASH_SUBJECT_KEY }} | |
run: | | |
wash new actor --path rust hello | |
wash build -p hello | |
rm -rf hello/target | |
tar -cvf hello.tar hello | |
rm -rf hello | |
shell: bash | |
working-directory: ${{ env.working-directory }} | |
- name: Upload signed actor to GH Actions | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wasmcloud-actor | |
path: ${{ env.working-directory }}/hello.tar | |
artifact_release: | |
needs: build_signed_actor | |
runs-on: ubuntu-latest | |
steps: | |
- uses: wasmcloud/common-actions/install-wash@main | |
- name: Download signed actor | |
uses: actions/download-artifact@v3 | |
with: | |
name: wasmcloud-actor | |
path: ${{ env.working-directory }} | |
- name: Extract files from tar file | |
run: tar -xvf hello.tar | |
shell: bash | |
working-directory: ${{ env.working-directory }} | |
- name: Determine actor name | |
run: | | |
echo "actor-name=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].name')" >> $GITHUB_ENV | |
working-directory: ${{ env.working-directory }}/hello | |
- name: Determine actor version | |
if: startswith(github.ref, 'refs/tags/') # Only run on tag push | |
run: | | |
echo "actor-version=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].version')" >> $GITHUB_ENV | |
working-directory: ${{ env.working-directory }}/hello | |
- name: Determine actor version (main) | |
if: ${{ !startswith(github.ref, 'refs/tags/') }} | |
run: | | |
echo "actor-version=latest" >> $GITHUB_ENV | |
working-directory: ${{ env.working-directory }}/hello | |
- name: Push actor to AzureCR | |
uses: wasmcloud/common-actions/oci-artifact-release@main | |
with: | |
artifact-path: ${{ env.working-directory }}/hello/build/${{ env.actor-name }}_s.wasm | |
oci-url: ${{ secrets.AZURECR_PUSH_URL }} | |
oci-repository: ${{ env.actor-name }} | |
oci-version: ${{ env.actor-version }} | |
oci-username: ${{ secrets.COSMONIC_AZURECR_PUSH_USER }} | |
oci-password: ${{ secrets.COSMONIC_AZURECR_PUSH_PASSWORD }} |