feat(devops): zot container registry and corresponding zli tool #5183
Workflow file for this run
This file contains 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: 🧐 Check blueprints | |
on: | |
pull_request: | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
ops2deb: ${{ steps.filter.outputs.ops2deb }} | |
steps: | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
ops2deb: | |
- 'blueprints/**' | |
- name: Clean up labels | |
uses: actions-ecosystem/action-remove-labels@v1 | |
if: success() | |
with: | |
labels: | | |
build failed | |
tests failed | |
fail_on_error: false | |
build_packages: | |
needs: [changes] | |
if: ${{ needs.changes.outputs.ops2deb == 'true' }} | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/upciti/ops2deb:latest | |
options: --user root | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Print ops2deb version | |
run: ops2deb version | |
- name: Validate configuration files | |
run: make format | |
- name: Generate new Debian packages | |
shell: bash | |
run: | | |
git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
MODIFIED=$(git diff --name-only HEAD~1 HEAD -- ./blueprints 2>/dev/null) | |
export COMPONENTS=$(echo $MODIFIED | cut -d"/" -f2 | uniq) | |
export OPS2DEB_ONLY_BLUEPRINTS=$(echo $MODIFIED | cut -d"/" -f3 | uniq) | |
make build | |
- name: Set build failed label on failure | |
uses: actions-ecosystem/action-add-labels@v1 | |
if: failure() | |
with: | |
labels: build failed | |
- name: Upload Debian packages | |
uses: actions/upload-artifact@v4 | |
with: | |
path: build/**/*deb | |
retention-days: 2 | |
test_packages: | |
needs: [build_packages] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
distribution: | |
- debian:bookworm-slim | |
- minideb:bookworm | |
- minideb:bullseye | |
- ubuntu:rolling | |
- ubuntu:22.04 | |
- ubuntu:20.04 | |
container: wakemeops/${{ matrix.distribution }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Download Debian packages | |
uses: actions/download-artifact@v4 | |
with: | |
path: build | |
- name: Install make | |
run: install_packages make | |
- name: Test packages | |
run: | | |
make install-packages | |
make check-packages | |
- name: Set tests failed label on failure | |
uses: actions-ecosystem/action-add-labels@v1 | |
if: failure() | |
with: | |
labels: tests failed | |
test_packages_success: | |
runs-on: ubuntu-latest | |
needs: [test_packages, build_packages] | |
if: always() | |
steps: | |
- uses: docker://agilepathway/pull-request-label-checker:latest | |
with: | |
none_of: build failed,tests failed | |
repo_token: ${{ secrets.GITHUB_TOKEN }} |