Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
4f9dee1e27 | |||
fe8a1376fa | |||
7619be6d11 | |||
1062595d7f | |||
d829c1efb2 | |||
a1f22433a0 | |||
43fc67ded6 | |||
8e7781a346 | |||
68dd90048f | |||
7bf54bbd8c |
21
.github/actions/init/action.yaml
vendored
Normal file
21
.github/actions/init/action.yaml
vendored
Normal 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 }}"
|
15
.github/workflows/check.yaml
vendored
15
.github/workflows/check.yaml
vendored
@ -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
|
||||||
|
151
.github/workflows/release.yaml
vendored
151
.github/workflows/release.yaml
vendored
@ -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
|
|
||||||
|
23
.github/workflows/update.yaml
vendored
23
.github/workflows/update.yaml
vendored
@ -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 }}
|
||||||
|
4
client/package-lock.json
generated
4
client/package-lock.json
generated
@ -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",
|
||||||
|
@ -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",
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user