Skip to content

fmt

fmt #483

Workflow file for this run

name: Release
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- "main"
- "develop"
jobs:
integration-tests:
name: "πŸ§ͺ Integration Tests"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/build-mach
with: { profile: debug }
- name: "Integration tests"
run: |
source .github/actions/setup-env/setup-env.bash
just test-integration
unit-tests:
name: "πŸ§ͺ Unit Tests"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/build-mach
with: { profile: debug }
- name: "Unit tests"
run: |
source .github/actions/setup-env/setup-env.bash
just test-unit
benchmarks-micro:
name: "🏎️ Benchmarks Micro"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/build-mach
- name: "Benchmarks (Micro)"
run: |
source .github/actions/setup-env/setup-env.bash
just bench-micro
build:
strategy:
matrix:
config:
- name: πŸ₯ Linux AMD64
os: linux
arch: amd64
runner: ubuntu-latest
- name: πŸ₯ Linux ARM64
os: linux
arch: arm64
runner: ubuntu-latest
- name: 🍎 MacOS AMD64
os: macos
arch: amd64
runner: macos-13
- name: 🍎 MacOS ARM64
os: macos
arch: arm64
runner: macos-14
- name: 🟦 Windows AMD64
os: windows
arch: amd64
runner: windows-latest
- name: 🟦 Windows ARM64
os: windows
arch: arm64
runner: windows-latest
name: "${{ matrix.config.name }}"
runs-on: ${{ matrix.config.runner }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/build-mach
with:
os: "${{ matrix.config.os }}"
arch: "${{ matrix.config.arch }}"
- uses: actions/upload-artifact@v4
with:
name: mach-${{ matrix.config.os }}-${{ matrix.config.arch }}
path: ${{ github.workspace }}/artifacts/**/*
if-no-files-found: error
retention-days: 1
npm-package:
name: "πŸ“¦ NPM"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/build-npm
- uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: ${{ github.workspace }}/artifacts/**/*
if-no-files-found: error
retention-days: 1
publish-github-release:
name: "πŸ” Github Release"
runs-on: ubuntu-latest
needs: [unit-tests,integration-tests, benchmarks-micro, npm-package, build]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-env
- uses: actions/download-artifact@v4
with:
path: ${{ github.workspace }}/artifacts
- name: Publish` Github Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo TEMP: Skip for now
exit 0
source .github/actions/setup-env/setup-env.bash
bash .github/workflows/release/publish-github-release.bash
publish-npm-package:
name: "πŸ” Publish: NPM"
runs-on: ubuntu-latest
needs: [unit-tests, integration-tests, benchmarks-micro, npm-package, build]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-env
- uses: actions/download-artifact@v4
with:
path: ${{ github.workspace }}/artifacts
- name: Publish NPM Package
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
echo TEMP: Skip for now
exit 0
source .github/actions/setup-env/setup-env.bash
bash .github/workflows/release/publish-npm-package.bash
publish-crate:
name: "πŸ” Publish: Crates.io"
runs-on: ubuntu-latest
needs: [unit-tests, integration-tests, benchmarks-micro, npm-package, build]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-just
- uses: ./.github/actions/setup-nodejs
- uses: ./.github/actions/setup-rust
- uses: ./.github/actions/setup-env
- uses: ./.github/actions/build-mach
- name: Publish Crate
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
run: |
echo TEMP: Skip for now
exit 0
source .github/actions/setup-env/setup-env.bash
bash .github/workflows/release/publish-crate.bash