10 Commits

Author SHA1 Message Date
4f9dee1e27 bump: v0.0.43 -> v0.0.44
Some checks failed
Check / check (push) Has been skipped
Release / check (push) Failing after 0s
Release / release (push) Has been skipped
Release / package (push) Has been skipped
2025-05-17 03:05:37 -04:00
fe8a1376fa fix: pass token
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 03:02:13 -04:00
7619be6d11 fix: checkout first
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:57:37 -04:00
1062595d7f fix: action path
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:53:39 -04:00
d829c1efb2 fix: init path
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:50:34 -04:00
a1f22433a0 style: move init to composite action
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:49:01 -04:00
43fc67ded6 bump: v0.0.42 -> v0.0.43
Some checks failed
Check / check (push) Has been skipped
Release / check (push) Failing after 0s
Release / release (push) Has been skipped
Release / package (push) Has been skipped
2025-05-17 02:30:43 -04:00
8e7781a346 style: use better env
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:29:04 -04:00
68dd90048f bump: v0.0.41 -> v0.0.42
Some checks failed
Check / check (push) Has been skipped
Release / check (push) Failing after 0s
Release / release (push) Has been skipped
Release / package (push) Has been skipped
2025-05-17 02:07:27 -04:00
7bf54bbd8c fix: use version
Some checks failed
Check / check (push) Failing after 0s
2025-05-17 02:05:54 -04:00
8 changed files with 96 additions and 128 deletions

21
.github/actions/init/action.yaml vendored Normal file
View File

@ -0,0 +1,21 @@
name: "initialize"
description: "install nix & use cachix"
inputs:
token:
description: "cachix auth token"
required: true
runs:
using: "composite"
steps:
- name: install nix
uses: cachix/install-nix-action@v31
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: use cachix
uses: cachix/cachix-action@v16
with:
name: trevstack
authToken: "${{ inputs.token }}"

View File

@ -15,19 +15,10 @@ jobs:
contains(github.event.head_commit.message, 'bump:') == false && contains(github.event.head_commit.message, 'bump:') == false &&
contains(github.event.head_commit.message, 'Merge pull request') == false contains(github.event.head_commit.message, 'Merge pull request') == false
steps: steps:
- name: Checkout - uses: actions/checkout@v4
uses: actions/checkout@v4 - uses: ./.github/actions/init
- name: Install Nix
uses: cachix/install-nix-action@v31
with: with:
nix_path: nixpkgs=channel:nixos-unstable token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Use Cachix
uses: cachix/cachix-action@v16
with:
name: trevstack
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Check - name: Check
run: nix flake check run: nix flake check

View File

@ -13,133 +13,98 @@ jobs:
check: check:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - uses: actions/checkout@v4
uses: actions/checkout@v4 - uses: ./.github/actions/init
- name: Install Nix
uses: cachix/install-nix-action@v31
with: with:
nix_path: nixpkgs=channel:nixos-unstable token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Use Cachix - name: check
uses: cachix/cachix-action@v16
with:
name: trevstack
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Check
run: nix flake check run: nix flake check
# release: release:
# runs-on: ubuntu-latest runs-on: ubuntu-latest
# needs: check needs: check
# steps: steps:
# - name: Checkout - uses: actions/checkout@v4
# uses: actions/checkout@v4 - uses: ./.github/actions/init
with:
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
# - name: Install Nix - name: build
# uses: cachix/install-nix-action@v31 run: >
# with: nix build
# nix_path: nixpkgs=channel:nixos-unstable .#trevstack-linux-amd64
.#trevstack-linux-arm64
.#trevstack-linux-arm
.#trevstack-windows-amd64
.#trevstack-darwin-amd64
.#trevstack-darwin-arm64
# - name: Use Cachix - name: release
# uses: cachix/cachix-action@v16 uses: softprops/action-gh-release@v2
# with: with:
# name: trevstack generate_release_notes: true
# authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" files: |-
result*/bin/*
# - name: Build
# run: >
# nix build
# .#trevstack-linux-amd64
# .#trevstack-linux-arm64
# .#trevstack-linux-arm
# .#trevstack-windows-amd64
# .#trevstack-darwin-amd64
# .#trevstack-darwin-arm64
# - name: Release
# uses: softprops/action-gh-release@v2
# with:
# generate_release_notes: true
# files: |-
# result*/bin/*
# https://docs.docker.com/build/ci/github-actions/manage-tags-labels/
package: package:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: check # Wait for binary cache to propagate needs: release
steps: steps:
- name: Checkout - uses: actions/checkout@v4
uses: actions/checkout@v4 - uses: ./.github/actions/init
- name: Install Nix
uses: cachix/install-nix-action@v31
with: with:
nix_path: nixpkgs=channel:nixos-unstable token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Use Cachix - name: set env
uses: cachix/cachix-action@v16
with:
name: trevstack
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Set env
run: | run: |
TAG=${{ github.ref_name }} TAG=${{ github.ref_name }}
VERSION=${TAG#v} VERSION=${TAG#v}
REPOSITORY=${{ github.repository }}
NAME="${REPOSITORY}:${VERSION}"
REGISTRY="ghcr.io" REGISTRY="ghcr.io"
echo "VERSION=${VERSION}" >> $GITHUB_ENV echo "VERSION=${VERSION}" >> $GITHUB_ENV
echo "REPOSITORY=${REPOSITORY}" >> $GITHUB_ENV
echo "NAME=${NAME}" >> $GITHUB_ENV
echo "REGISTRY=${REGISTRY}" >> $GITHUB_ENV echo "REGISTRY=${REGISTRY}" >> $GITHUB_ENV
- name: Login to GitHub Container Registry - name: login to github container registry
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build & Load Images - name: build & load images
run: | run: |
nix build .#trevstack-linux-amd64-image && ./result | docker load nix build .#trevstack-linux-amd64-image && ./result | docker load
nix build .#trevstack-linux-arm64-image && ./result | docker load nix build .#trevstack-linux-arm64-image && ./result | docker load
nix build .#trevstack-linux-arm-image && ./result | docker load nix build .#trevstack-linux-arm-image && ./result | docker load
- name: Push Images - name: push images
run: | run: |
docker image tag ${NAME}-amd64 ${REGISTRY}/${NAME}-amd64 docker image tag trevstack:$VERSION-amd64 $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64
docker push ${REGISTRY}/${NAME}-amd64 docker push $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64
docker image tag ${NAME}-arm64 ${REGISTRY}/${NAME}-arm64 docker image tag trevstack:$VERSION-arm64 $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64
docker push ${REGISTRY}/${NAME}-arm64 docker push $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64
docker image tag ${NAME}-arm ${REGISTRY}/${NAME}-arm docker image tag trevstack:$VERSION-arm $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm
docker push ${REGISTRY}/${NAME}-arm docker push $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm
- name: Push Manifest - name: push manifest
run: | run: |
docker manifest create ${REGISTRY}/${NAME} \ docker manifest create $REGISTRY/$GITHUB_REPOSITORY:$VERSION \
${REGISTRY}/${NAME}-amd64 \ $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64 \
${REGISTRY}/${NAME}-arm64 \ $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64 \
${REGISTRY}/${NAME}-arm $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm
docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:$VERSION $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64 --arch amd64
docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:$VERSION $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64 --arch arm64
docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:$VERSION $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm --arch arm
docker manifest push $REGISTRY/$GITHUB_REPOSITORY:$VERSION
docker manifest annotate ${REGISTRY}/${NAME} ${REGISTRY}/${NAME}-amd64 --arch amd64 docker manifest create $REGISTRY/$GITHUB_REPOSITORY:latest \
docker manifest annotate ${REGISTRY}/${NAME} ${REGISTRY}/${NAME}-arm64 --arch arm64 $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64 \
docker manifest annotate ${REGISTRY}/${NAME} ${REGISTRY}/${NAME}-arm --arch arm $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64 \
$REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm
docker manifest create ${REGISTRY}/${REPOSITORY}:latest \ docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:latest $REGISTRY/$GITHUB_REPOSITORY:$VERSION-amd64 --arch amd64
${REGISTRY}/${NAME}-amd64 \ docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:latest $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm64 --arch arm64
${REGISTRY}/${NAME}-arm64 \ docker manifest annotate $REGISTRY/$GITHUB_REPOSITORY:latest $REGISTRY/$GITHUB_REPOSITORY:$VERSION-arm --arch arm
${REGISTRY}/${NAME}-arm docker manifest push $REGISTRY/$GITHUB_REPOSITORY:latest
docker manifest annotate ${REGISTRY}/${REPOSITORY}:latest ${REGISTRY}/${NAME}-amd64 --arch amd64
docker manifest annotate ${REGISTRY}/${REPOSITORY}:latest ${REGISTRY}/${NAME}-arm64 --arch arm64
docker manifest annotate ${REGISTRY}/${REPOSITORY}:latest ${REGISTRY}/${NAME}-arm --arch arm
docker manifest push ${REGISTRY}/${NAME}
docker manifest push ${REGISTRY}/${REPOSITORY}:latest

View File

@ -13,30 +13,21 @@ jobs:
update: update:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - uses: actions/checkout@v4
uses: actions/checkout@v4 - uses: ./.github/actions/init
- name: Install Nix
uses: cachix/install-nix-action@v31
with: with:
nix_path: nixpkgs=channel:nixos-unstable token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Use Cachix
uses: cachix/cachix-action@v16
with:
name: trevstack
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
# https://github.com/actions/checkout/issues/13 # https://github.com/actions/checkout/issues/13
- name: Set Git Config - name: set git config
run: | run: |
git config user.name "github-actions[bot]" git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
- name: Update - name: update
run: nix run .#update run: nix run .#update
- name: Create Pull Request - name: create pull request
id: cpr id: cpr
uses: peter-evans/create-pull-request@v7 uses: peter-evans/create-pull-request@v7
with: with:
@ -44,7 +35,7 @@ jobs:
title: update title: update
body: automatic update body: automatic update
- name: Enable Automerge - name: enable automerge
run: gh pr merge --merge --auto "${{ steps.cpr.outputs.pull-request-number }}" run: gh pr merge --merge --auto "${{ steps.cpr.outputs.pull-request-number }}"
env: env:
GH_TOKEN: ${{ secrets.PAT }} GH_TOKEN: ${{ secrets.PAT }}

View File

@ -1,12 +1,12 @@
{ {
"name": "trevstack", "name": "trevstack",
"version": "0.0.41", "version": "0.0.44",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "trevstack", "name": "trevstack",
"version": "0.0.41", "version": "0.0.44",
"devDependencies": { "devDependencies": {
"@bufbuild/protovalidate": "^0.1.1", "@bufbuild/protovalidate": "^0.1.1",
"@connectrpc/connect": "^2.0.2", "@connectrpc/connect": "^2.0.2",

View File

@ -1,7 +1,7 @@
{ {
"name": "trevstack", "name": "trevstack",
"private": true, "private": true,
"version": "0.0.41", "version": "0.0.44",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite dev", "dev": "vite dev",

View File

@ -21,7 +21,7 @@
... ...
}: let }: let
pname = "trevstack"; pname = "trevstack";
version = "0.0.41"; version = "0.0.44";
build-systems = [ build-systems = [
"x86_64-linux" "x86_64-linux"
@ -130,7 +130,7 @@
pname = "check-client"; pname = "check-client";
inherit version; inherit version;
src = ./client; src = ./client;
npmDepsHash = "sha256-HFHk9ynhwLR8GQ76rGzN907eBkMCOVUMPc/0riRV46A="; npmDepsHash = "sha256-W48OgBIJQjN4O7++t3tE2PaRaHMEgdL7C8QmLq4gfNE=";
dontNpmInstall = true; dontNpmInstall = true;
buildPhase = '' buildPhase = ''
@ -193,7 +193,7 @@
client = pkgs.buildNpmPackage { client = pkgs.buildNpmPackage {
inherit pname version; inherit pname version;
src = ./client; src = ./client;
npmDepsHash = "sha256-HFHk9ynhwLR8GQ76rGzN907eBkMCOVUMPc/0riRV46A="; npmDepsHash = "sha256-W48OgBIJQjN4O7++t3tE2PaRaHMEgdL7C8QmLq4gfNE=";
installPhase = '' installPhase = ''
cp -r build "$out" cp -r build "$out"

View File

@ -3,7 +3,7 @@ servers:
- url: /grpc - url: /grpc
info: info:
title: Trevstack API title: Trevstack API
version: 0.0.41 version: 0.0.44
description: API for Trevstack description: API for Trevstack
contact: contact:
name: Trev name: Trev