Skip to content

new(garden): Automation for Kubernetes development and testing #21

new(garden): Automation for Kubernetes development and testing

new(garden): Automation for Kubernetes development and testing #21

Workflow file for this run

name: CI-CD
on:
push:
jobs:
precommit:
name: Pre-commit Check
runs-on:
- nscloud-ubuntu-22.04-amd64-4x8-with-cache
- nscloud-cache-size-50gb
- nscloud-cache-tag-nix-registry-nix-store-cache
- nscloud-git-mirror-1gb
steps:
# Setup
- uses: AtomiCloud/[email protected]
# pre commit
- name: Run pre-commit
run: nix develop .#ci -c ./scripts/ci/pre-commit.sh
build:
name: Nix Build
strategy:
matrix:
os:
- nscloud-ubuntu-22.04-amd64-4x8-with-cache
- nscloud-ubuntu-22.04-arm64-4x8-with-cache
runs-on:
- ${{ matrix.os }}
- nscloud-cache-size-50gb
- nscloud-cache-tag-nix-registry-nix-build-store-cache
- nscloud-git-mirror-1gb
steps:
# Setup
- uses: AtomiCloud/[email protected]
#
- name: Nix Build
run: >-
nix shell nixpkgs#bash
.#sg
.#upstash
.#action_docs
.#typescript_json_schema
.#swagger_typescript_api
.#dotnetsay
.#dotnet-ef
.#mirrord
.#pls
.#toml-cli
.#nix-share
.#aws-export-credentials
.#cyanprint
.#atomiutils
.#gardenio
-c bash -c '
sg --version &&
upstash --version &&
action-docs --version
typescript-json-schema --version &&
swagger-typescript-api --version &&
dotnetsay &&
dotnet-ef --version &&
mirrord --version &&
pls --version &&
toml --version &&
nix-share &&
cyanprint --version &&
garden version &&
echo "🎉 Done"'
release:
name: Semantic Release
needs:
- precommit
- build
if: github.ref == 'refs/heads/main'
runs-on:
- nscloud-ubuntu-22.04-amd64-4x8-with-cache
- nscloud-cache-size-50gb
- nscloud-cache-tag-nix-registry-releaser-nix-store-cache
- nscloud-git-mirror-1gb
steps:
# Setup
- uses: AtomiCloud/[email protected]
- uses: AtomiCloud/[email protected]
# action
- uses: rlespinasse/[email protected]
with:
short-length: 8
- name: Release
env:
# needed for releaser
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: nix develop .#releaser -c scripts/ci/release.sh