This repository has been archived by the owner on Jun 10, 2024. It is now read-only.
Merge pull request #230 from thomastaylor312/chore/blobby_new_interface #25
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: Blobby | |
on: | |
push: | |
branches: [main] | |
paths: | |
- "actor/blobby/actor/**" | |
- "actor/blobby/testing/**" | |
tags: | |
- "blobby-v*" | |
pull_request: | |
branches: [main] | |
paths: | |
- "actor/blobby/actor/**" | |
- "actor/blobby/testing/**" | |
env: | |
CARGO_TERM_COLOR: always | |
working-directory: ./actor/blobby/actor | |
jobs: | |
rust_check: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
# If your integration tests require nats or redis, run them here | |
- name: Add wasm32-unknown-unknown | |
run: rustup target add wasm32-unknown-unknown | |
- id: rust-check-action | |
uses: wasmcloud/common-actions/rust-check@main | |
with: | |
working-directory: ${{ env.working-directory }} | |
# The `--doc` is required for wasm, as cargo cannot execute wasm tests by default | |
test-options: "--verbose --doc" | |
integration_test: | |
needs: rust_check | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: wasmcloud/common-actions/install-wash@main | |
- name: Add wasm32-unknown-unknown | |
run: rustup target add wasm32-unknown-unknown | |
- name: Build wasmcloud actor | |
run: wash build | |
working-directory: ${{ env.working-directory }} | |
- name: Run integration tests | |
working-directory: actor/blobby/testing/ | |
run: cargo test -- --test-threads 1 | |
build_artifact: | |
needs: integration_test | |
if: startswith(github.ref, 'refs/tags/') # Only run on tag push | |
runs-on: ubuntu-20.04 | |
env: | |
WASH_ISSUER_KEY: ${{ secrets.WASMCLOUD_ACCOUNT_OFFICIAL }} | |
WASH_SUBJECT_KEY: ${{ secrets.WASMCLOUD_BLOBBY }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: wasmcloud/common-actions/install-wash@main | |
- name: Add wasm32-unknown-unknown | |
run: rustup target add wasm32-unknown-unknown | |
- name: Build wasmcloud actor | |
run: wash build | |
working-directory: ${{ env.working-directory }} | |
- name: Upload signed actor to GH Actions | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wasmcloud-actor | |
path: ${{ env.working-directory }}/build/*_s.wasm | |
github_release: | |
if: startswith(github.ref, 'refs/tags/') # Only run on tag push | |
needs: build_artifact | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Download signed actor | |
uses: actions/download-artifact@v2 | |
with: | |
name: wasmcloud-actor | |
path: ${{ env.working-directory }}/build | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ${{ env.working-directory }}/build/*_s.wasm | |
token: ${{ secrets.GITHUB_TOKEN }} | |
prerelease: true | |
draft: false | |
artifact_release: | |
needs: build_artifact | |
if: startswith(github.ref, 'refs/tags/') # Only run on tag push | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Download signed actor | |
uses: actions/download-artifact@v2 | |
with: | |
name: wasmcloud-actor | |
path: ${{ env.working-directory }}/build | |
- name: Determine artifact metadata | |
run: | | |
echo "oci-repository=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].name')" >> $GITHUB_ENV | |
echo "oci-version=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[].version')" >> $GITHUB_ENV | |
working-directory: ${{ env.working-directory }} | |
- name: Push actor to AzureCR | |
uses: wasmcloud/common-actions/oci-artifact-release@main | |
with: | |
artifact-path: ${{ env.working-directory }}/build/blobby_s.wasm | |
oci-url: ${{ secrets.AZURECR_PUSH_URL }} | |
oci-repository: ${{ env.oci-repository }} | |
oci-version: ${{ env.oci-version }} | |
oci-username: ${{ secrets.AZURECR_PUSH_USER }} | |
oci-password: ${{ secrets.AZURECR_PUSH_PASSWORD }} |