v0.3.1 #55
Workflow file for this run
This file contains hidden or 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: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - '*' | |
| pull_request: | |
| branches: | |
| - '*' | |
| workflow_dispatch: | |
| inputs: | |
| logLevel: | |
| description: Log Level | |
| default: info | |
| type: choice | |
| options: | |
| - debug | |
| - error | |
| - fatal | |
| - info | |
| - panic | |
| - warning | |
| environment: | |
| description: Environment | |
| default: test | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| run: | | |
| curl https://mise.run | sh | |
| mise settings experimental=true | |
| - name: Trust workspace | |
| run: mise trust | |
| - name: Install dependencies | |
| run: mise exec -- mise install | |
| - name: Configure project | |
| run: mise exec -- make configure | |
| - name: Run formatting checks | |
| run: mise exec -- make format | |
| - name: Run lint | |
| run: mise exec -- make lint | |
| - name: Run static analysis | |
| run: mise exec -- make check | |
| - name: Build project | |
| run: mise exec -- make build | |
| - name: Run tests | |
| run: mise exec -- make test | |
| test-amd64: | |
| needs: test | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - platform: linux/amd64 | |
| dockerfile: Dockerfile.amd64 | |
| tag: tinyclib:amd64 | |
| test: amd64 | |
| steps: | |
| - name: Docker Setup QEMU | |
| if: matrix.platform != 'linux/amd64' | |
| uses: docker/setup-qemu-action@v4 # v4 - latest as of 2026-03-21 | |
| with: | |
| platforms: all | |
| - name: Docker Setup Buildx | |
| uses: docker/setup-buildx-action@v4 # v4 - latest as of 2026-03-21 | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Create Buildx | |
| run: | | |
| docker buildx create --name tests --use | |
| docker buildx inspect --bootstrap | |
| - name: Build images | |
| run: | | |
| docker images | |
| docker buildx ls --no-trunc | |
| docker buildx build --platform ${{ matrix.platform }} -f scripts/tests/docker/${{ matrix.dockerfile }} -t ${{ matrix.tag }} . --load | |
| docker images | |
| - name: Test | |
| run: | | |
| for platform in ${{ matrix.platform }}; do | |
| for tag in ${{ matrix.tag }}; do | |
| echo "Running container for platform: $platform, tag: $tag" | |
| docker run --platform $platform $tag | |
| done | |
| done | |
| test-arm64: | |
| needs: test | |
| runs-on: ubuntu-24.04-arm | |
| strategy: | |
| matrix: | |
| include: | |
| - platform: linux/arm64 | |
| dockerfile: Dockerfile.arm64 | |
| tag: tinyclib:arm64 | |
| test: arm64 | |
| - platform: linux/arm/v6 | |
| dockerfile: Dockerfile.armv6 | |
| tag: tinyclib:armv6 | |
| test: armv6 | |
| - platform: linux/arm/v7 | |
| dockerfile: Dockerfile.armv7 | |
| tag: tinyclib:armv7 | |
| test: armv7 | |
| - platform: linux/arm64/v8 | |
| dockerfile: Dockerfile.armv8 | |
| tag: tinyclib:armv8 | |
| test: armv8 | |
| steps: | |
| - name: Docker Setup Buildx | |
| uses: docker/setup-buildx-action@v4 # v4 - latest as of 2026-03-21 | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Create Buildx | |
| run: | | |
| docker buildx create --name tests --use | |
| docker buildx inspect --bootstrap | |
| - name: Build images | |
| run: | | |
| docker images | |
| docker buildx ls --no-trunc | |
| docker buildx build --platform ${{ matrix.platform }} -f scripts/tests/docker/${{ matrix.dockerfile }} -t ${{ matrix.tag }} . --load | |
| docker images | |
| - name: Test | |
| run: | | |
| for platform in ${{ matrix.platform }}; do | |
| for tag in ${{ matrix.tag }}; do | |
| echo "Running container for platform: $platform, tag: $tag" | |
| docker run --platform $platform $tag | |
| done | |
| done |