feat: Kardinal dev overview #18
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
# Our desired pipeline using only a Nix shell environment | |
name: Check and build Kardinal | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "v*.*.*" | |
pull_request: | |
branches: | |
- main | |
jobs: | |
check_nix: | |
name: Basic Check | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
- name: Magic cache | |
uses: DeterminateSystems/magic-nix-cache-action@main | |
- name: Check Nixpkgs inputs | |
uses: DeterminateSystems/flake-checker-action@main | |
with: | |
fail-mode: true | |
# Nix-specific logic begins here | |
- name: Nix Check | |
run: | | |
nix flake check | |
- name: Check Go formatting | |
run: | | |
nix develop --command test -z $(gofmt -l .) | |
build_and_test_nix: | |
name: Test and build | |
needs: check_nix | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@main | |
- name: Magic cache | |
uses: DeterminateSystems/magic-nix-cache-action@main | |
- name: Build Kardinal Manager images | |
run: | | |
nix build ./#containers.x86_64-linux.kardinal-manager.arm64 --no-link --print-out-paths | |
nix build ./#containers.x86_64-linux.kardinal-manager.amd64 --no-link --print-out-paths | |
- name: Build Kardinal CLI images | |
run: | | |
nix build ./#containers.x86_64-linux.kardinal-cli.arm64 --no-link --print-out-paths | |
nix build ./#containers.x86_64-linux.kardinal-cli.amd64 --no-link --print-out-paths | |
- name: Build Redis Sidecar images | |
run: | | |
nix build ./#containers.x86_64-linux.redis-proxy-overlay.arm64 --no-link --print-out-paths | |
nix build ./#containers.x86_64-linux.redis-proxy-overlay.amd64 --no-link --print-out-paths | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Publish images | |
if: github.ref == 'refs/heads/main' | |
run: | | |
nix run ./#publish-kardinal-manager-container | |
nix run ./#publish-kardinal-cli-container | |
nix run ./#publish-redis-proxy-overlay-container |