Skip to content

Workflow toolkit

Workflow toolkit #2729

Workflow file for this run

name: Build
on:
push:
tags:
- v**
pull_request_target:
paths:
- tests/**
- make/**
- Makefile
- .github/**
- pkg/**
- cmd/**
- go.mod
- go.sum
- examples/**
jobs:
detect:
runs-on: ubuntu-latest
outputs:
flavor: ${{ steps.set-matrix.outputs.flavor }}
platform: ${{ steps.set-platform.outputs.platform }}
steps:
- id: set-matrix
run: |
if [ "${{ contains(github.event.pull_request.labels.*.name, 'all-distros') }}" == "true" ]; then
echo "flavor=['green', 'tumbleweed', 'blue', 'orange']" >> $GITHUB_OUTPUT
else
echo "flavor=['green']" >> $GITHUB_OUTPUT
fi
- id: set-platform
run: |
if [ "${{ startsWith(github.event.ref, 'refs/tags/v') }}" == "true" ]; then
echo "platform='linux/x86_64,linux/arm64" >> $GITHUB_OUTPUT
else
echo "platform='linux/x86_64'" >> $GITHUB_OUTPUT
fi
build-toolkit:

Check failure on line 40 in .github/workflows/build.yaml

View workflow run for this annotation

GitHub Actions / .github/workflows/build.yaml

Invalid workflow file

You have an error in your yaml syntax on line 40
permissions:
packages: write
runs-on: ubuntu-latest
env:
PLATFORM: ${{ needs.detect.outputs.platform }}
TOOLKIT_REPO: ghcr.io/${{github.repository}}/elemental-cli
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- uses: actions/checkout@v4
with:
ref: "${{ github.event.pull_request.merge_commit_sha }}"
- run: |
git fetch --prune --unshallow
- id: set-version
run: |
git describe --tags --candidates=50 >> $GITHUB_OUTPUT
- name: Log in to ghcr.io
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build toolkit
run: |
make DOCKER_ARGS=--push build
build-matrix:
needs:
- detect
- build-toolkit
strategy:
matrix:
flavor: ${{fromJson(needs.detect.outputs.flavor)}}
fail-fast: false
uses: ./.github/workflows/build_and_test_x86.yaml
with:
flavor: ${{ matrix.flavor }}
cleanup:
needs:
- build-toolkit
- build-matrix
steps:
- uses: actions/delete-package-versions@v4
if: !startsWith(github.event.ref, 'refs/tags/v')
with:
package-version-ids: ${{ needs.build-toolkit.outputs.version }}
owner: ${{ github.owner }}
package-name: elemental-toolkit/elemental-cli
package-type: container