Skip to content

ci: disable big workflows #62

ci: disable big workflows

ci: disable big workflows #62

Workflow file for this run

# name: wasmcloud
# on:
# pull_request:
# merge_group:
# workflow_dispatch:
# inputs:
# crate:
# type: choice
# description: crate to smart-release
# options:
# - wascap
# - wash-cli
# - wash-lib
# - wasmcloud
# - wasmcloud-component
# - wasmcloud-control-interface
# - wasmcloud-core
# - wasmcloud-host
# - wasmcloud-provider-sdk
# - wasmcloud-runtime
# - wasmcloud-secrets-client
# - wasmcloud-secrets-types
# - wasmcloud-test-util
# - wasmcloud-tracing
# do-release:
# type: boolean
# description: Leave unchecked to create a pull request with changes for verification, then check to create a release directly with changes
# additional-args:
# type: string
# description: Advanced; Additional arguments to pass to `smart-release`
# push:
# branches:
# - main
# tags:
# - 'component-v[0-9].[0-9]+.[0-9]+'
# - 'component-v[0-9].[0-9]+.[0-9]+-*'
# - 'control-interface-v[0-9].[0-9]+.[0-9]+'
# - 'control-interface-v[0-9].[0-9]+.[0-9]+-*'
# - 'core-v[0-9].[0-9]+.[0-9]+'
# - 'core-v[0-9].[0-9]+.[0-9]+-*'
# - 'host-sys-v[0-9].[0-9]+.[0-9]+'
# - 'host-sys-v[0-9].[0-9]+.[0-9]+-*'
# - 'host-v[0-9].[0-9]+.[0-9]+'
# - 'host-v[0-9].[0-9]+.[0-9]+-*'
# - 'opentelemetry-nats-v[0-9].[0-9]+.[0-9]+'
# - 'opentelemetry-nats-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-archive-v[0-9].[0-9]+.[0-9]+'
# - 'provider-archive-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-blobstore-azure-v[0-9].[0-9]+.[0-9]+'
# - 'provider-blobstore-azure-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-blobstore-fs-v[0-9].[0-9]+.[0-9]+'
# - 'provider-blobstore-fs-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-blobstore-s3-v[0-9].[0-9]+.[0-9]+'
# - 'provider-blobstore-s3-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-http-client-v[0-9].[0-9]+.[0-9]+'
# - 'provider-http-client-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-http-server-v[0-9].[0-9]+.[0-9]+'
# - 'provider-http-server-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-keyvalue-nats-v[0-9].[0-9]+.[0-9]+'
# - 'provider-keyvalue-nats-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-keyvalue-redis-v[0-9].[0-9]+.[0-9]+'
# - 'provider-keyvalue-redis-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-keyvalue-vault-v[0-9].[0-9]+.[0-9]+'
# - 'provider-keyvalue-vault-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-messaging-kafka-v[0-9].[0-9]+.[0-9]+'
# - 'provider-messaging-kafka-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-messaging-nats-v[0-9].[0-9]+.[0-9]+'
# - 'provider-messaging-nats-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-sdk-v[0-9].[0-9]+.[0-9]+'
# - 'provider-sdk-v[0-9].[0-9]+.[0-9]+-*'
# - 'provider-sqldb-postgres-v[0-9].[0-9]+.[0-9]+'
# - 'provider-sqldb-postgres-v[0-9].[0-9]+.[0-9]+-*'
# - 'runtime-v[0-9].[0-9]+.[0-9]+'
# - 'runtime-v[0-9].[0-9]+.[0-9]+-*'
# - 'secrets-client-v[0-9].[0-9]+.[0-9]+'
# - 'secrets-client-v[0-9].[0-9]+.[0-9]+-*'
# - 'secrets-types-v[0-9].[0-9]+.[0-9]+'
# - 'secrets-types-v[0-9].[0-9]+.[0-9]+-*'
# - 'test-util-v[0-9].[0-9]+.[0-9]+'
# - 'test-util-v[0-9].[0-9]+.[0-9]+-*'
# - 'tracing-v[0-9].[0-9]+.[0-9]+'
# - 'tracing-v[0-9].[0-9]+.[0-9]+-*'
# - 'v[0-9].[0-9]+.[0-9]+'
# - 'v[0-9].[0-9]+.[0-9]+-*'
# - 'wascap-v[0-9].[0-9]+.[0-9]+'
# - 'wascap-v[0-9].[0-9]+.[0-9]+-*'
# - 'wash-cli-v[0-9].[0-9]+.[0-9]+'
# - 'wash-cli-v[0-9].[0-9]+.[0-9]+-*'
# - 'wash-lib-v[0-9].[0-9]+.[0-9]+'
# - 'wash-lib-v[0-9].[0-9]+.[0-9]+-*'
# permissions:
# contents: read
# concurrency:
# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
# cancel-in-progress: true
# jobs:
# meta:
# runs-on: ubuntu-latest
# outputs:
# wasmcloud_modified: ${{ steps.wasmcloud_changes.outputs.any_changed }}
# providers_modified: ${{ steps.provider_changes.outputs.any_changed }}
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: tj-actions/changed-files@7ac5902a02bbf88c426878d792c0728b55bb97ae
# id: wasmcloud_changes
# with:
# # Consider wasmCloud changed if any Rust file other than
# # capability providers change
# files: |
# ./.github/actions/build-nix/action.yml
# ./.github/actions/install-nix/action.yml
# ./.github/workflows/wasmcloud.yml
# ./.config/nextest.toml
# nix/images/default.nix
# flake.lock
# flake.nix
# Cargo.lock
# Cargo.toml
# rust-toolchain.toml
# crates/**/*.{rs,toml,wit}
# src/**/*.{rs,toml,wit}
# tests/**/*.{rs,toml,wit}
# wit/**/*.wit
# # Somewhat naive assumption that providers will be under `crates/provider-<interface>-<vendor>`
# # as that is our naming convention for providers.
# files_ignore: |
# !crates/provider-*-*
# !crates/wash-*
# - uses: tj-actions/changed-files@7ac5902a02bbf88c426878d792c0728b55bb97ae
# id: provider_changes
# with:
# # Consider providers changed if any file in the providers change
# files: |
# ./.github/actions/build-nix/action.yml
# ./.github/actions/install-nix/action.yml
# ./.github/workflows/provider.yml
# ./.github/workflows/wasmcloud.yml
# Cargo.lock
# Cargo.toml
# crates/provider-*/*.{rs,toml,wit}
# flake.lock
# flake.nix
# rust-toolchain.toml
# files_ignore: |
# !crates/**/*.md
# build-wash-bin:
# needs: [meta]
# if: ${{ needs.meta.outputs.wasmcloud_modified == 'true' || startsWith(github.ref, 'refs/tags/wash-cli-v') || startswith(github.ref, 'refs/tags/provider-') }}
# strategy:
# matrix:
# config:
# - target: aarch64-unknown-linux-musl
# test-bin: |
# nix profile install --fallback --inputs-from . 'nixpkgs#qemu'
# qemu-aarch64 ./result/bin/wash --version
# test-oci: docker load < ./result
# - target: aarch64-apple-darwin
# test-bin: |
# file ./result/bin/wash
# test-oci: docker load < ./result
# - target: aarch64-linux-android
# test-bin: |
# file ./result/bin/wash
# test-oci: docker load < ./result
# - target: riscv64gc-unknown-linux-gnu-fhs
# test-bin: |
# nix build --fallback -L '.#wash-riscv64gc-unknown-linux-gnu'
# nix shell --fallback --inputs-from . 'nixpkgs#qemu' -c qemu-riscv64 ./result/bin/wash --version
# - target: x86_64-apple-darwin
# test-bin: |
# file ./result/bin/wash
# test-oci: docker load < ./result
# # TODO: Build for GNU once https://github.com/rust-lang/rust/issues/92212 is resolved
# #- target: x86_64-pc-windows-gnu
# # test-bin: |
# # nix profile install --fallback --inputs-from . 'nixpkgs#wine64'
# # wine64 ./result/bin/wash.exe --version
# # test-oci: docker load < ./result
# - target: x86_64-unknown-linux-musl
# test-bin: |
# ./result/bin/wash --version
# test-oci: |
# docker load < ./result
# docker run --rm wash:$(nix eval --raw .#wash-x86_64-unknown-linux-musl-oci.imageTag) wash --version
# name: wash-${{ matrix.config.target }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# # need to run condition inside job steps so that job will pass if all steps are skipped
# # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache@36f1e144e1c8edb0a652766b484448563d8baf46
# id: cache
# with:
# path: ${{ runner.temp }}/nix-store-deps
# key: wash-${{ matrix.config.target }}-deps-${{ github.sha }}
# restore-keys: |
# wash-${{ matrix.config.target }}-deps-
# wasmcloud-${{ matrix.config.target }}-deps-
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-deps"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-deps"
# - uses: ./.github/actions/build-nix
# with:
# package: wash-${{ matrix.config.target }}
# - run: ${{ matrix.config.test-bin }}
# - uses: ./.github/actions/build-nix
# if: ${{ !endsWith(matrix.config.target, 'fhs') }}
# with:
# package: wash-${{ matrix.config.target }}-oci
# - run: ${{ matrix.config.test-oci }}
# if: ${{ !endsWith(matrix.config.target, 'fhs') }}
# - run: |
# target="${{ matrix.config.target }}"
# nix copy --to "file://${{ runner.temp }}/nix-store-deps" ".#wash-${target%'-fhs'}-deps"
# if: steps.cache.outputs.cache-hit != 'true'
# build-wasmcloud-bin:
# needs: [meta]
# if: ${{ needs.meta.outputs.wasmcloud_modified == 'true' || startsWith(github.ref, 'refs/tags/v') }}
# strategy:
# matrix:
# config:
# - target: aarch64-unknown-linux-musl
# test-bin: |
# nix profile install --fallback --inputs-from . 'nixpkgs#qemu'
# qemu-aarch64 ./result/bin/wasmcloud --version
# test-oci: docker load < ./result
# - target: aarch64-apple-darwin
# test-bin: |
# file ./result/bin/wasmcloud
# test-oci: docker load < ./result
# - target: aarch64-linux-android
# test-bin: |
# file ./result/bin/wasmcloud
# test-oci: docker load < ./result
# - target: riscv64gc-unknown-linux-gnu-fhs
# test-bin: |
# nix build --fallback -L '.#wasmcloud-riscv64gc-unknown-linux-gnu'
# nix shell --fallback --inputs-from . 'nixpkgs#qemu' -c qemu-riscv64 ./result/bin/wasmcloud --version
# - target: x86_64-apple-darwin
# test-bin: |
# file ./result/bin/wasmcloud
# test-oci: docker load < ./result
# - target: x86_64-pc-windows-gnu
# test-bin: |
# nix profile install --fallback --inputs-from . 'nixpkgs#wine64'
# wine64 ./result/bin/wasmcloud.exe --version
# test-oci: docker load < ./result
# - target: x86_64-unknown-linux-musl
# test-bin: |
# ./result/bin/wasmcloud --version
# test-oci: |
# docker load < ./result
# docker run --rm wasmcloud:$(nix eval --raw .#wasmcloud-x86_64-unknown-linux-musl-oci.imageTag) wasmcloud --version
# name: wasmcloud-${{ matrix.config.target }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# # need to run condition inside job steps so that job will pass if all steps are skipped
# # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache@36f1e144e1c8edb0a652766b484448563d8baf46
# id: cache
# with:
# path: ${{ runner.temp }}/nix-store-deps
# key: wasmcloud-${{ matrix.config.target }}-deps-${{ github.sha }}
# restore-keys: |
# wasmcloud-${{ matrix.config.target }}-deps-
# wash-${{ matrix.config.target }}-deps-
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-deps"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-deps"
# - uses: ./.github/actions/build-nix
# with:
# package: wasmcloud-${{ matrix.config.target }}
# - run: ${{ matrix.config.test-bin }}
# - uses: ./.github/actions/build-nix
# if: ${{ !endsWith(matrix.config.target, 'fhs') }}
# with:
# package: wasmcloud-${{ matrix.config.target }}-oci
# - run: ${{ matrix.config.test-oci }}
# if: ${{ !endsWith(matrix.config.target, 'fhs') }}
# - run: |
# target="${{ matrix.config.target }}"
# nix copy --to "file://${{ runner.temp }}/nix-store-deps" ".#wasmcloud-${target%'-fhs'}-deps"
# if: steps.cache.outputs.cache-hit != 'true'
# build-provider-bin:
# needs: [meta]
# if: ${{ needs.meta.outputs.providers_modified == 'true' || startswith(github.ref, 'refs/tags/provider-') }}
# strategy:
# matrix:
# name:
# - blobstore-azure
# - blobstore-fs
# - blobstore-s3
# - keyvalue-nats
# - keyvalue-redis
# - keyvalue-vault
# - http-client
# - http-server
# - messaging-kafka
# - messaging-nats
# - sqldb-postgres
# target:
# - aarch64-apple-darwin
# - aarch64-unknown-linux-musl
# - x86_64-apple-darwin
# - x86_64-pc-windows-gnu
# - x86_64-unknown-linux-musl
# name: ${{ matrix.name }}-provider-${{ matrix.target }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# # need to run condition inside job steps so that job will pass if all steps are skipped
# # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpull_requestpull_request_targetbranchesbranches-ignore
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache@36f1e144e1c8edb0a652766b484448563d8baf46
# id: cache
# with:
# path: ${{ runner.temp }}/nix-store-deps
# key: ${{ matrix.name }}-provider-${{ matrix.target }}-deps-${{ github.sha }}
# restore-keys: |
# ${{ matrix.name }}-provider-${{ matrix.target }}-deps-
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-deps"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-deps"
# - uses: ./.github/actions/build-nix
# with:
# package: ${{ matrix.name }}-provider-${{ matrix.target }}
# - run: nix copy --to "file://${{ runner.temp }}/nix-store-deps" '.#${{ matrix.name }}-provider-${{ matrix.target }}-deps'
# if: steps.cache.outputs.cache-hit != 'true'
# build-wash-windows:
# if: ${{ startswith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main'}}
# name: wash-x86_64-pc-windows-msvc
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - run: rustup show
# - uses: Swatinem/rust-cache@82a92a6e8fbeee089604da2575dc567ae9ddeaab
# with:
# shared-key: windows-latest-8-cores-shared-cache
# if: ${{ !startswith(github.ref, 'refs/tags/') }}
# - run: cargo build --release -p wash-cli --bin wash
# - run: mkdir "artifact/bin"
# - run: move "target/release/wash.exe" "artifact/bin/wash.exe"
# - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
# with:
# name: wash-x86_64-pc-windows-msvc
# path: artifact
# build-wash-lipo:
# name: wash-universal-darwin
# needs: build-wash-bin
# runs-on: macos-15
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-aarch64-apple-darwin
# path: aarch64
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-x86_64-apple-darwin
# path: x86_64
# - run: mkdir -p ./artifact/bin
# - run: lipo -create ./aarch64/bin/wash ./x86_64/bin/wash -output ./artifact/bin/wash
# - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
# with:
# name: wash-universal-darwin
# path: artifact
# build-wasmcloud-lipo:
# name: wasmcloud-universal-darwin
# needs: build-wasmcloud-bin
# runs-on: macos-15
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-aarch64-apple-darwin
# path: aarch64
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-x86_64-apple-darwin
# path: x86_64
# - run: mkdir -p ./artifact/bin
# - run: lipo -create ./aarch64/bin/wasmcloud ./x86_64/bin/wasmcloud -output ./artifact/bin/wasmcloud
# - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08
# with:
# name: wasmcloud-universal-darwin
# path: artifact
# test-wash-linux-aarch64:
# runs-on: ubuntu-22.04-arm
# needs: build-wash-bin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-aarch64-unknown-linux-musl
# - run: chmod +x ./bin/wash
# - run: ./bin/wash --version
# test-wash-linux-aarch64-oci:
# runs-on: ubuntu-22.04-arm
# needs: build-wash-bin
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-aarch64-unknown-linux-musl-oci
# - run: docker load < ./wash-aarch64-unknown-linux-musl-oci
# - run: docker run --rm wash:$(nix eval --raw .#wash-aarch64-unknown-linux-musl-oci.imageTag) wash --version
# test-wash-linux-x86_64:
# runs-on: ubuntu-22.04
# needs: build-wash-bin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-x86_64-unknown-linux-musl
# - run: chmod +x ./bin/wash
# - run: ./bin/wash --version
# test-wash-macos-aarch64:
# runs-on: macos-15
# needs:
# - build-wash-bin
# - build-wash-lipo
# strategy:
# matrix:
# artifact:
# - wash-aarch64-apple-darwin
# - wash-universal-darwin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: ${{ matrix.artifact }}
# - run: chmod +x ./bin/wash
# - run: ./bin/wash --version
# - run: codesign --verify ./bin/wash
# test-wash-macos-x86_64:
# runs-on: macos-13
# needs:
# - build-wash-bin
# - build-wash-lipo
# strategy:
# matrix:
# artifact:
# - wash-x86_64-apple-darwin
# - wash-universal-darwin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: ${{ matrix.artifact }}
# - run: chmod +x ./bin/wash
# - run: ./bin/wash --version
# - run: codesign --verify ./bin/wash
# test-wash-windows-x86_64:
# runs-on: windows-latest
# needs: build-wash-windows
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-x86_64-pc-windows-msvc
# - run: .\bin\wash.exe --version
# test-wasmcloud-linux-aarch64:
# runs-on: ubuntu-22.04-arm
# needs: build-wasmcloud-bin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-aarch64-unknown-linux-musl
# - run: chmod +x ./bin/wasmcloud
# - run: ./bin/wasmcloud --version
# test-wasmcloud-linux-aarch64-oci:
# runs-on: ubuntu-22.04-arm
# needs: build-wasmcloud-bin
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-aarch64-unknown-linux-musl-oci
# - run: docker load < ./wasmcloud-aarch64-unknown-linux-musl-oci
# - run: docker run --rm wasmcloud:$(nix eval --raw .#wasmcloud-aarch64-unknown-linux-musl-oci.imageTag) wasmcloud --version
# test-wasmcloud-linux-x86_64:
# runs-on: ubuntu-22.04
# needs: build-wasmcloud-bin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-x86_64-unknown-linux-musl
# - run: chmod +x ./bin/wasmcloud
# - run: ./bin/wasmcloud --version
# test-wasmcloud-macos-aarch64:
# runs-on: macos-15
# needs:
# - build-wasmcloud-bin
# - build-wasmcloud-lipo
# strategy:
# matrix:
# artifact:
# - wasmcloud-aarch64-apple-darwin
# - wasmcloud-universal-darwin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: ${{ matrix.artifact }}
# - run: chmod +x ./bin/wasmcloud
# - run: ./bin/wasmcloud --version
# - run: codesign --verify ./bin/wasmcloud
# test-wasmcloud-macos-x86_64:
# runs-on: macos-13
# needs:
# - build-wasmcloud-bin
# - build-wasmcloud-lipo
# strategy:
# matrix:
# artifact:
# - wasmcloud-x86_64-apple-darwin
# - wasmcloud-universal-darwin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: ${{ matrix.artifact }}
# - run: chmod +x ./bin/wasmcloud
# - run: ./bin/wasmcloud --version
# - run: codesign --verify ./bin/wasmcloud
# test-wasmcloud-windows-x86_64:
# runs-on: windows-latest
# needs: build-wasmcloud-bin
# steps:
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wasmcloud-x86_64-pc-windows-gnu
# - run: .\bin\wasmcloud.exe --version
# cargo:
# needs: [meta]
# if: ${{ needs.meta.outputs.wasmcloud_modified == 'true' || needs.meta.outputs.providers_modified == 'true' || startsWith(github.ref, 'refs/tags/') }}
# strategy:
# matrix:
# check:
# - audit
# - fmt
# - clippy
# - nextest
# - doctest
# name: cargo ${{ matrix.check }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache/restore@36f1e144e1c8edb0a652766b484448563d8baf46
# with:
# path: ${{ runner.temp }}/nix-store
# key: wasmcloud-cargo-doc-${{ github.sha }}
# restore-keys: |
# wasmcloud-cargo-doc-
# wasmcloud-x86_64_unknown-linux-musl-${{ github.sha }}
# wasmcloud-x86_64_unknown-linux-musl-
# wash-x86_64_unknown-linux-musl-
# wasmcloud-
# wash-
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store"
# - run: nix build --fallback -L .#checks.x86_64-linux.${{ matrix.check }}
# build-doc:
# needs: [meta]
# if: ${{ needs.meta.outputs.wasmcloud_modified == 'true' || startsWith(github.ref, 'refs/tags/') }}
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache@36f1e144e1c8edb0a652766b484448563d8baf46
# id: cache
# with:
# path: ${{ runner.temp }}/nix-store
# key: wasmcloud-cargo-doc-${{ github.sha }}
# restore-keys: |
# wasmcloud-cargo-doc-
# wasmcloud-cargo-nextest-
# wasmcloud-cargo-clippy-
# wasmcloud-cargo-doctest-
# wasmcloud-cargo-audit-
# wasmcloud-cargo-fmt-
# wasmcloud-
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store"
# - run: nix build --fallback -L .#checks.x86_64-linux.doc
# - run: cp --no-preserve=mode -R ./result/share/doc ./doc
# - run: rm -f doc/.lock
# - name: Create `.nojekyll`
# run: touch doc/.nojekyll
# - name: Write `index.html`
# run: |
# cat <<EOF > doc/index.html
# <!DOCTYPE html>
# <meta charset="utf-8">
# <title>Redirecting to wasmcloud_host/index.html</title>
# <meta http-equiv="refresh" content="0; URL=wasmcloud_host/index.html">
# <link rel="canonical" href="https://${{ github.repository_owner }}.github.io/wasmCloud/wasmcloud_host/index.html">
# EOF
# - uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa
# with:
# path: doc
# - run: nix copy --to "file://${{ runner.temp }}/nix-store" .#checks.x86_64-linux.doc
# if: steps.cache.outputs.cache-hit != 'true'
# providers:
# if: ${{ needs.meta.outputs.providers_modified == 'true' || startswith(github.ref, 'refs/tags/provider-') }}
# strategy:
# matrix:
# include:
# - name: blobstore-azure
# subject: BLOBSTORE_AZURE_SUBJECT
# embed_wit: true
# - name: blobstore-fs
# subject: BLOBSTORE_FS_SUBJECT
# embed_wit: true
# - name: blobstore-s3
# subject: BLOBSTORE_S3_SUBJECT
# embed_wit: true
# - name: keyvalue-nats
# subject: KEYVALUE_NATS_SUBJECT
# embed_wit: true
# - name: keyvalue-redis
# subject: KEYVALUE_REDIS_SUBJECT
# embed_wit: true
# - name: keyvalue-vault
# subject: KEYVALUE_VAULT_SUBJECT
# embed_wit: true
# - name: http-client
# subject: HTTP_CLIENT_SUBJECT
# embed_wit: false
# - name: http-server
# subject: HTTP_SERVER_SUBJECT
# embed_wit: false
# - name: messaging-kafka
# subject: MESSAGING_KAFKA_SUBJECT
# embed_wit: true
# - name: messaging-nats
# subject: MESSAGING_NATS_SUBJECT
# embed_wit: true
# - name: sqldb-postgres
# subject: SQLDB_POSTGRES_SUBJECT
# embed_wit: true
# needs:
# - meta
# - build-wash-bin
# - build-provider-bin
# - test-wash-linux-x86_64
# permissions:
# contents: read
# packages: write
# uses: ./.github/workflows/provider.yml
# with:
# name: ${{ matrix.name }}
# embed_wit: ${{ matrix.embed_wit }}
# secrets:
# issuer: ${{ secrets.WASMCLOUD_ACCOUNT_OFFICIAL }}
# subject: ${{ secrets[matrix.subject] }}
# azurecr_username: ${{ secrets.AZURECR_PUSH_USER }}
# azurecr_password: ${{ secrets.AZURECR_PUSH_PASSWORD }}
# deploy-doc:
# runs-on: ubuntu-22.04
# needs: build-doc
# permissions:
# contents: read
# pages: write
# id-token: write
# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
# if: github.ref == 'refs/heads/main'
# steps:
# - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e
# id: deployment
# oci:
# runs-on: ubuntu-latest-8-cores
# strategy:
# matrix:
# include:
# - bin: wasmcloud
# - bin: wash
# prefix: wash-cli-
# permissions:
# contents: read
# packages: write
# needs:
# - build-wash-bin
# - build-wasmcloud-bin
# - test-wash-linux-aarch64
# - test-wash-linux-aarch64-oci
# - test-wash-linux-x86_64
# - test-wasmcloud-linux-aarch64
# - test-wasmcloud-linux-aarch64-oci
# - test-wasmcloud-linux-x86_64
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - uses: actions/cache/restore@36f1e144e1c8edb0a652766b484448563d8baf46
# with:
# path: ${{ runner.temp }}/nix-store-amd64
# key: ${{ matrix.bin }}-x86_64-unknown-linux-musl
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-amd64"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-amd64"
# - uses: actions/cache/restore@36f1e144e1c8edb0a652766b484448563d8baf46
# with:
# path: ${{ runner.temp }}/nix-store-arm64
# key: ${{ matrix.bin }}-aarch64-unknown-linux-musl
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-arm64"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-arm64"
# - uses: actions/cache@36f1e144e1c8edb0a652766b484448563d8baf46
# id: cache
# with:
# path: ${{ runner.temp }}/nix-store-oci
# key: ${{ matrix.bin }}-oci
# - run: nix copy --all --from "file://${{ runner.temp }}/nix-store-oci"
# continue-on-error: true
# - run: rm -rf "${{ runner.temp }}/nix-store-oci"
# - name: Extract tag context
# id: ctx
# run: |
# echo "owner=${GITHUB_REPOSITORY_OWNER,,}" >> "$GITHUB_OUTPUT"
# echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
# version=${GITHUB_REF_NAME#${{ matrix.prefix }}v}
# echo "version=${version}" >> "$GITHUB_OUTPUT"
# echo "version is ${version}"
# if [[ $version == *"-"* ]]; then
# echo "version ${version} is a pre-release"
# echo "prerelease=true" >> "$GITHUB_OUTPUT"
# fi
# - name: Login to AzureCR
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix)) || github.ref == 'refs/heads/main'
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# uses: azure/docker-login@15c4aadf093404726ab2ff205b2cdd33fa6d054c
# with:
# login-server: ${{ secrets.AZURECR_PUSH_URL }}
# username: ${{ secrets.AZURECR_PUSH_USER }}
# password: ${{ secrets.AZURECR_PUSH_PASSWORD }}
# - name: Login to GitHub Container Registry
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix)) || github.ref == 'refs/heads/main'
# uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
# with:
# registry: ghcr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Login to DockerHub
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix)) || github.ref == 'refs/heads/main'
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
# with:
# username: ${{ secrets.DOCKERHUB_PUSH_USER }}
# password: ${{ secrets.DOCKERHUB_PUSH_PASSWORD }}
# - name: Install `skopeo`
# run: nix profile install --fallback --inputs-from . 'nixpkgs#skopeo'
# - name: Build `${{ matrix.bin }}` image
# run: |
# nix build --fallback -L .#${{ matrix.bin }}-oci-debian -o ./oci-debian
# nix build --fallback -L .#${{ matrix.bin }}-oci-wolfi -o ./oci-wolfi
# - name: Test `${{ matrix.bin }}` image
# run: |
# skopeo copy oci-archive:./oci-debian docker-daemon:${{ matrix.bin }}:debian-test
# skopeo copy oci-archive:./oci-wolfi docker-daemon:${{ matrix.bin }}:wolfi-test
# docker run --rm ${{ matrix.bin }}:debian-test ${{ matrix.bin }} --version
# docker run --rm ${{ matrix.bin }}:wolfi-test ${{ matrix.bin }} --version
# - name: Push `${{ matrix.bin }}` commit rev tag
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix)) || github.ref == 'refs/heads/main'
# run: |
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }}
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }}
# skopeo copy --all oci-archive:./oci-debian docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }}-debian
# skopeo copy --all oci-archive:./oci-debian docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }}-debian
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }}-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }}-wolfi
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }} ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }} ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }}-debian ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }}-debian ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ github.sha }}-wolfi ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.sha_short }}-wolfi ${{ matrix.bin }} --version
# - name: Push `${{ matrix.bin }}` `canary` tag
# if: github.ref == 'refs/heads/main'
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# run: |
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary
# skopeo copy --all oci-archive:./oci-debian docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian
# skopeo copy --all oci-archive:./oci-debian docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian
# skopeo copy --all oci-archive:./oci-debian docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-debian ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:canary-wolfi ${{ matrix.bin }} --version
# - name: Push `${{ matrix.bin }}` version tag
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix))
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# run: |
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}
# skopeo copy --all oci-archive:./oci-debian docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian
# skopeo copy --all oci-archive:./oci-debian docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian
# skopeo copy --all oci-archive:./oci-debian docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }} ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }} ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }} ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-debian ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:${{ steps.ctx.outputs.version }}-wolfi ${{ matrix.bin }} --version
# - name: Push `${{ matrix.bin }}` `latest` tag
# if: startswith(github.ref, format('refs/tags/{0}v', matrix.prefix)) && !steps.ctx.outputs.prerelease
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# run: |
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest
# skopeo copy --all oci-archive:./oci-debian docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian
# skopeo copy --all oci-archive:./oci-debian docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian
# skopeo copy --all oci-archive:./oci-debian docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian
# skopeo copy --all oci-archive:./oci-wolfi docker://${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi
# skopeo copy --all oci-archive:./oci-wolfi docker://wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-debian ${{ matrix.bin }} --version
# docker run --rm ${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi ${{ matrix.bin }} --version
# docker run --rm ghcr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi ${{ matrix.bin }} --version
# docker run --rm wasmcloud.azurecr.io/${{ steps.ctx.outputs.owner }}/${{ matrix.bin }}:latest-wolfi ${{ matrix.bin }} --version
# - run: |
# nix copy --to "file://${{ runner.temp }}/nix-store-oci" \
# .#${{ matrix.bin }}-oci-debian \
# .#${{ matrix.bin }}-oci-wolfi
# if: steps.cache.outputs.cache-hit != 'true'
# release:
# if: startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/wash-cli-v')
# needs:
# - build-doc
# - build-wash-bin
# - build-wash-lipo
# - build-wasmcloud-bin
# - build-wasmcloud-lipo
# - cargo
# - oci
# - test-wash-linux-aarch64
# - test-wash-linux-aarch64-oci
# - test-wash-linux-x86_64
# - test-wash-macos-aarch64
# - test-wash-macos-x86_64
# - test-wash-windows-x86_64
# - test-wasmcloud-linux-aarch64
# - test-wasmcloud-linux-aarch64-oci
# - test-wasmcloud-linux-x86_64
# - test-wasmcloud-macos-aarch64
# - test-wasmcloud-macos-x86_64
# - test-wasmcloud-windows-x86_64
# runs-on: ubuntu-22.04
# permissions:
# contents: write
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# if: startsWith(github.ref, 'refs/tags/v')
# with:
# path: artifacts
# pattern: wasmcloud-*
# - if: startsWith(github.ref, 'refs/tags/v')
# run: |
# for dir in ./artifacts/wasmcloud-*; do
# target=${dir#./artifacts/wasmcloud-}
# for bin_path in $(find ${dir}/bin -type f); do
# chmod +x ${bin_path}
# bin=$(basename ${bin_path})
# case "$bin" in
# *.exe)
# bin="${bin%.exe}"
# mkdir -p ./${bin}
# mv ${bin_path} ./${bin}/${bin}-${target}.exe
# ;;
# *)
# mkdir -p ./${bin}
# mv ${bin_path} ./${bin}/${bin}-${target%-fhs}
# ;;
# esac
# done
# done
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# with:
# path: artifacts
# pattern: wash-*
# - if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# run: |
# for dir in ./artifacts/wash-*; do
# target=${dir#./artifacts/wash-}
# for bin_path in $(find ${dir}/bin -type f); do
# chmod +x ${bin_path}
# bin=$(basename ${bin_path})
# case "$bin" in
# *.exe)
# bin="${bin%.exe}"
# mkdir -p ./${bin}
# mv ${bin_path} ./${bin}/${bin}-${target}.exe
# ;;
# *)
# mkdir -p ./${bin}
# mv ${bin_path} ./${bin}/${bin}-${target%-fhs}
# ;;
# esac
# done
# done
# - uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974
# if: startsWith(github.ref, 'refs/tags/v')
# with:
# draft: true
# prerelease: true
# generate_release_notes: true
# files: ./wasmcloud/*
# - uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# with:
# draft: false
# prerelease: true
# generate_release_notes: true
# files: ./wash/*
# - name: Extract version
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# run: |
# VERSION=$(echo "${GITHUB_REF##*/}" | sed -e 's/wash-cli-v//')
# echo "wash_version=$VERSION" >> $GITHUB_ENV
# - name: Release homebrew
# uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# with:
# token: ${{ secrets.HOMEBREW_CHOCOLATEY_DISPATCH_TOKEN }}
# repository: wasmCloud/homebrew-wasmcloud
# event-type: brew-formula-update
# client-payload: |
# {"tag_prefix": "wash-cli", "tag_version": "${{ env.wash_version }}"}
# - name: Release chocolatey
# uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# with:
# token: ${{ secrets.HOMEBREW_CHOCOLATEY_DISPATCH_TOKEN }}
# repository: wasmCloud/chocolatey-wash
# event-type: choco-formula-update
# client-payload: |
# {"wash_version": "${{ env.wash_version }}"}
# nfpm:
# if: startsWith(github.ref, 'refs/tags/wash-cli-v')
# env:
# REF: ${{ github.ref }}
# PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_API_TOKEN }}
# needs:
# - cargo
# - build-wash-bin
# - test-wash-linux-x86_64
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - uses: ./.github/actions/install-nix
# with:
# cachixAuthToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# - name: Install NFPM
# run: nix profile install -L --inputs-from . 'nixpkgs#nfpm'
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-aarch64-unknown-linux-musl
# path: ./crates/wash-cli/aarch64
# - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16
# with:
# name: wash-x86_64-unknown-linux-musl
# path: ./crates/wash-cli/x86_64
# - name: Make wash executable
# working-directory: ./crates/wash-cli
# run: |
# chmod +x ./aarch64/bin/wash
# chmod +x ./x86_64/bin/wash
# - name: Build `deb` and `rpm`
# working-directory: ./crates/wash-cli
# run: |
# export VERSION=$(echo $REF| cut -d- -f3 | tr -d "v")
# nfpm pkg --packager deb -f build/nfpm.amd64.yaml
# nfpm pkg --packager deb -f build/nfpm.arm64.yaml
# nfpm pkg --packager rpm -f build/nfpm.amd64.yaml
# nfpm pkg --packager rpm -f build/nfpm.arm64.yaml
# - name: Push `deb`
# working-directory: ./crates/wash-cli
# run: |
# debs=(35 203 206 207 210 215 219 220 221 233 235 237 261 266 278 284)
# for distro_version in "${debs[@]}"; do
# curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash_*_amd64.deb)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
# curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash_*_arm64.deb)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
# done
# - name: Push `rpm`
# working-directory: ./crates/wash-cli
# run: |
# rpms=(194 204 209 216 226 231 236 239 240 244 260 273 279 283 302)
# for distro_version in "${rpms[@]}"; do
# curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash-*.aarch64.rpm)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
# curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash-*.x86_64.rpm)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
# done
# crates:
# strategy:
# matrix:
# include:
# - crate: component
# workspace-dependencies: true
# - crate: control-interface
# workspace-dependencies: true
# - crate: core
# workspace-dependencies: true
# - crate: host
# workspace-dependencies: true
# - crate: host-sys
# workspace-dependencies: true
# - crate: opentelemetry-nats
# - crate: provider-archive
# workspace-dependencies: true
# - crate: provider-http-server
# workspace-dependencies: true
# - crate: provider-messaging-nats
# workspace-dependencies: true
# - crate: provider-sdk
# workspace-dependencies: true
# - crate: runtime
# workspace-dependencies: true
# - crate: test-util
# workspace-dependencies: true
# - crate: tracing
# workspace-dependencies: true
# - crate: secrets-types
# workspace-dependencies: true
# - crate: secrets-client
# workspace-dependencies: true
# - crate: wascap
# - crate: wash-cli
# workspace-dependencies: true
# - crate: wash-lib
# workspace-dependencies: true
# name: publish ${{ matrix.crate }} to crates.io
# needs: cargo
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# - name: Extract tag context
# id: ctx
# run: |
# version=${GITHUB_REF_NAME#${{ matrix.crate }}-v}
# echo "version is ${version}"
# if [[ $version == *"-"* ]]; then
# echo "version ${version} is a pre-release"
# echo "prerelease=true" >> "$GITHUB_OUTPUT"
# fi
# - name: dry-run publish ${{ matrix.crate }} to crates.io
# if: ${{ !startsWith(github.ref, 'refs/tags/') }}
# continue-on-error: ${{ matrix.workspace-dependencies }} # publish may fail due to workspace crates not being published yet
# run: cargo publish --dry-run
# working-directory: ./crates/${{ matrix.crate }}
# - name: publish ${{ matrix.crate }} to crates.io
# if: startsWith(github.ref, format('refs/tags/{0}-v', matrix.crate))
# continue-on-error: ${{ github.repository_owner != 'wasmCloud' }}
# run: cargo publish --token ${{ secrets.CRATES_PUBLISH_TOKEN }}
# working-directory: ./crates/${{ matrix.crate }}
# smart-release:
# if: github.event_name == 'workflow_dispatch'
# runs-on: ubuntu-22.04
# permissions:
# contents: write
# pull-requests: write
# steps:
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
# with:
# fetch-depth: 0
# fetch-tags: true
# - name: Install cmake for smart-release
# run: sudo apt update && sudo apt install cmake -y
# - run: rustup show
# - name: install smart-release
# env:
# RUSTFLAGS: ''
# # NOTE(brooksmtownsend): Installing from my fork as updating workspace dependencies is not yet supported in the mainline
# # PR to follow: https://github.com/Byron/cargo-smart-release/pull/17
# run: cargo install cargo-smart-release --git https://github.com/brooksmtownsend/cargo-smart-release --branch feat/update-workspace-dependencies
# - name: dry run release
# if: ${{ !inputs.do-release }}
# run: |
# git config --global user.email "automation@wasmcloud.com"
# git config --global user.name "wasmCloud automation"
# cargo smart-release --update-crates-index --no-publish --execute --no-changelog-preview --no-push ${{ inputs.additional-args }} ${{ inputs.crate }} --allow-dirty
# - name: Create Pull Request
# if: ${{ !inputs.do-release }}
# uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f
# with:
# branch: release-${{ inputs.crate }}
# signoff: true
# committer: wasmCloud Automation <automation@wasmcloud.com>
# title: Release ${{ inputs.crate }}
# commit-message: 'release(${{ inputs.crate }}): release and update CHANGELOG'
# - name: release
# if: ${{ inputs.do-release }}
# env:
# GH_TOKEN: ${{ github.token }}
# CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_PUBLISH_TOKEN }}
# run: |
# git config --global user.email "automation@wasmcloud.com"
# git config --global user.name "wasmCloud automation"
# cargo smart-release --update-crates-index --execute --no-changelog-preview --no-changelog ${{ inputs.additional-args }} ${{ inputs.crate }}
# # This check always runs, and succeeds either if no relevant wasmCloud files were modified or jobs are successful.
# wasmcloud_successful_checks:
# needs:
# - meta
# - build-provider-bin
# - build-wash-bin
# - build-wash-lipo
# - build-wash-windows
# - build-wasmcloud-bin
# - build-wasmcloud-lipo
# - test-wash-linux-aarch64
# - test-wash-linux-x86_64
# - test-wash-macos-aarch64
# - test-wash-macos-x86_64
# - test-wash-windows-x86_64
# - test-wasmcloud-linux-aarch64
# - test-wasmcloud-linux-x86_64
# - test-wasmcloud-macos-aarch64
# - test-wasmcloud-macos-x86_64
# - test-wasmcloud-windows-x86_64
# - cargo
# - build-doc
# - providers
# - deploy-doc
# - oci
# if: ${{ always() }}
# runs-on: ubuntu-latest
# steps:
# - name: Results
# run: |
# echo 'needs.build-provider-bin.result: ${{ needs.build-provider-bin.result }}'
# echo 'needs.build-wash-bin.result: ${{ needs.build-wash-bin.result }}'
# echo 'needs.build-wash-windows.result: ${{ needs.build-wash-windows.result }}'
# echo 'needs.build-wash-lipo.result: ${{ needs.build-wash-lipo.result }}'
# echo 'needs.build-wasmcloud-bin.result: ${{ needs.build-wasmcloud-bin.result }}'
# echo 'needs.build-wasmcloud-lipo.result: ${{ needs.build-wasmcloud-lipo.result }}'
# echo 'needs.integration_tests.result: ${{ needs.integration_tests.result }}'
# echo 'needs.test-wash-linux-aarch64.result: ${{ needs.test-wash-linux-aarch64.result }}'
# echo 'needs.test-wash-linux-x86_64.result: ${{ needs.test-wash-linux-x86_64.result }}'
# echo 'needs.test-wash-macos-aarch64.result: ${{ needs.test-wash-macos-aarch64.result }}'
# echo 'needs.test-wash-macos-x86_64.result: ${{ needs.test-wash-macos-x86_64.result }}'
# echo 'needs.test-wash-windows-x86_64.result: ${{ needs.test-wash-windows-x86_64.result }}'
# echo 'needs.test-wasmcloud-linux-aarch64.result: ${{ needs.test-wasmcloud-linux-aarch64.result }}'
# echo 'needs.test-wasmcloud-linux-x86_64.result: ${{ needs.test-wasmcloud-linux-x86_64.result }}'
# echo 'needs.test-wasmcloud-macos-aarch64.result: ${{ needs.test-wasmcloud-macos-aarch64.result }}'
# echo 'needs.test-wasmcloud-macos-x86_64.result: ${{ needs.test-wasmcloud-macos-x86_64.result }}'
# echo 'needs.test-wasmcloud-windows-x86_64.result: ${{ needs.test-wasmcloud-windows-x86_64.result }}'
# echo 'needs.cargo.result: ${{ needs.cargo.result }}'
# echo 'needs.build-doc.result: ${{ needs.build-doc.result }}'
# echo 'needs.providers.result: ${{ needs.providers.result }}'
# echo 'needs.deploy-doc.result: ${{ needs.deploy-doc.result }}'
# echo 'needs.oci.result: ${{ needs.oci.result }}'
# - name: Verify jobs
# # All jobs must succeed or be skipped.
# if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
# run: exit 1