diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d3b104..6e606f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,10 @@ on: - main jobs: example: - runs-on: ubuntu-latest + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Setup example diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..993556e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,47 @@ +name: "Publish to Github Packages" +on: + push: + tags: + - "*" + workflow_dispatch: + inputs: + tag: + description: "The existing tag to publish" + type: "string" + required: true +jobs: + publish-wasm: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ inputs.tag || github.ref_name }} + - name: Setup Fluent CI + uses: fluentci-io/setup-fluentci@v5 + with: + wasm: true + plugin: rust + args: | + target_add wasm32-unknown-unknown + build --release --target wasm32-unknown-unknown + env: + GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Cache wasm-to-oci + uses: actions/cache@v4 + with: + path: wasm-to-oci_linux-amd64.tar.gz + key: wasm-to-oci-${{ runner.os }} + - name: Publish to the Container registry + run: | + [ -f wasm-to-oci_linux-amd64.tar.gz ] || pkgx wget https://github.com/fluentci-io/wasm-to-oci/releases/download/v0.1.2/wasm-to-oci_linux-amd64.tar.gz + tar xvf wasm-to-oci_linux-amd64.tar.gz + ./wasm-to-oci push target/wasm32-unknown-unknown/release/cue.wasm ghcr.io/fluentci-io/cue:${{ inputs.tag || github.ref_name }}-wasm