This commit is contained in:
@ -1,21 +0,0 @@
|
||||
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 }}"
|
@ -1,63 +0,0 @@
|
||||
name: "Docker Push"
|
||||
description: "Push to docker registry"
|
||||
|
||||
inputs:
|
||||
server_url:
|
||||
required: true
|
||||
repository:
|
||||
required: true
|
||||
tag:
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set env
|
||||
shell: bash
|
||||
run: |
|
||||
REGISTRY=$(basename ${{ inputs.server_url }})
|
||||
|
||||
NR=${{ inputs.repository }}
|
||||
NAMESPACE="${NR%%/*}"
|
||||
REPOSITORY="${NR##*/}"
|
||||
|
||||
TAG=${{ inputs.tag }}
|
||||
VERSION=${TAG#v}
|
||||
|
||||
echo "REGISTRY=${REGISTRY}" >> $GITHUB_ENV
|
||||
echo "NAMESPACE=${NAMESPACE}" >> $GITHUB_ENV
|
||||
echo "REPOSITORY=${REPOSITORY}" >> $GITHUB_ENV
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Push images
|
||||
shell: bash
|
||||
run: |
|
||||
docker image tag $REPOSITORY:$VERSION-amd64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
|
||||
- name: Push manifest
|
||||
shell: bash
|
||||
run: |
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
docker manifest push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION
|
||||
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:latest \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
docker manifest push $REGISTRY/$NAMESPACE/$REPOSITORY:latest
|
@ -16,8 +16,16 @@ jobs:
|
||||
contains(github.event.head_commit.message, 'Merge pull request') == false
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- run: nix flake check
|
||||
|
@ -21,9 +21,17 @@ jobs:
|
||||
needs: check
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- run: >
|
||||
nix build
|
||||
@ -44,9 +52,17 @@ jobs:
|
||||
needs: release
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
@ -60,9 +76,51 @@ jobs:
|
||||
nix build .#trevstack-linux-arm64-image && ./result | docker load
|
||||
nix build .#trevstack-linux-arm-image && ./result | docker load
|
||||
|
||||
- name: Set env
|
||||
shell: bash
|
||||
run: |
|
||||
REGISTRY=$(basename ${{ github.server_url }})
|
||||
|
||||
NR=${{ github.repository }}
|
||||
NAMESPACE="${NR%%/*}"
|
||||
REPOSITORY="${NR##*/}"
|
||||
|
||||
TAG=${{ github.ref_name }}
|
||||
VERSION=${TAG#v}
|
||||
|
||||
echo "REGISTRY=${REGISTRY}" >> $GITHUB_ENV
|
||||
echo "NAMESPACE=${NAMESPACE}" >> $GITHUB_ENV
|
||||
echo "REPOSITORY=${REPOSITORY}" >> $GITHUB_ENV
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Push images
|
||||
uses: ./.actions/push
|
||||
with:
|
||||
server_url: ${{ github.server_url }}
|
||||
repository: ${{ github.repository }}
|
||||
tag: ${{ github.ref_name }}
|
||||
shell: bash
|
||||
run: |
|
||||
docker image tag $REPOSITORY:$VERSION-amd64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
|
||||
- name: Push manifest
|
||||
shell: bash
|
||||
run: |
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
docker manifest push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION
|
||||
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:latest \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
|
@ -10,9 +10,17 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
# https://github.com/actions/checkout/issues/13
|
||||
- name: Set git config
|
||||
|
12
.github/workflows/check.yaml
vendored
12
.github/workflows/check.yaml
vendored
@ -16,8 +16,16 @@ jobs:
|
||||
contains(github.event.head_commit.message, 'Merge pull request') == false
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- run: nix flake check
|
||||
|
76
.github/workflows/release.yaml
vendored
76
.github/workflows/release.yaml
vendored
@ -14,9 +14,17 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- run: nix flake check
|
||||
|
||||
@ -49,9 +57,17 @@ jobs:
|
||||
needs: release
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
@ -65,9 +81,51 @@ jobs:
|
||||
nix build .#trevstack-linux-arm64-image && ./result | docker load
|
||||
nix build .#trevstack-linux-arm-image && ./result | docker load
|
||||
|
||||
- name: Set env
|
||||
shell: bash
|
||||
run: |
|
||||
REGISTRY=$(basename ${{ github.server_url }})
|
||||
|
||||
NR=${{ github.repository }}
|
||||
NAMESPACE="${NR%%/*}"
|
||||
REPOSITORY="${NR##*/}"
|
||||
|
||||
TAG=${{ github.ref_name }}
|
||||
VERSION=${TAG#v}
|
||||
|
||||
echo "REGISTRY=${REGISTRY}" >> $GITHUB_ENV
|
||||
echo "NAMESPACE=${NAMESPACE}" >> $GITHUB_ENV
|
||||
echo "REPOSITORY=${REPOSITORY}" >> $GITHUB_ENV
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Push images
|
||||
uses: ./.actions/push
|
||||
with:
|
||||
server_url: ghcr.io
|
||||
repository: ${{ github.repository }}
|
||||
tag: ${{ github.ref_name }}
|
||||
shell: bash
|
||||
run: |
|
||||
docker image tag $REPOSITORY:$VERSION-amd64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm64 $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64
|
||||
|
||||
docker image tag $REPOSITORY:$VERSION-arm $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
|
||||
- name: Push manifest
|
||||
shell: bash
|
||||
run: |
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
docker manifest push $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION
|
||||
|
||||
docker manifest create $REGISTRY/$NAMESPACE/$REPOSITORY:latest \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 \
|
||||
$REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-amd64 --arch amd64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm64 --arch arm64
|
||||
docker manifest annotate $REGISTRY/$NAMESPACE/$REPOSITORY:latest $REGISTRY/$NAMESPACE/$REPOSITORY:$VERSION-arm --arch arm
|
||||
|
12
.github/workflows/update.yaml
vendored
12
.github/workflows/update.yaml
vendored
@ -14,9 +14,17 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.actions/init
|
||||
|
||||
- name: Install nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
token: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
nix_path: nixpkgs=channel:nixos-unstable
|
||||
|
||||
- name: Use cachix
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: trevstack
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
# https://github.com/actions/checkout/issues/13
|
||||
- name: Set git config
|
||||
|
Reference in New Issue
Block a user