40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
name: Nix Docker Push Test
|
|
on: [push]
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v27
|
|
|
|
- name: Build Docker Image with Nix
|
|
run: |
|
|
nix build .#dockerImage
|
|
cp result hello-image.tar.gz
|
|
|
|
- name: Load image to Local Docker
|
|
run: docker load < hello-image.tar.gz
|
|
|
|
- name: Login to Gitea Registry
|
|
run: |
|
|
echo "${{ secrets.GITEA_TOKEN }}" | docker login git.zhukovsky.me -u ${{ gitea.actor }} --password-stdin
|
|
|
|
- name: Tag and Push
|
|
run: |
|
|
# В Gitea путь к образу: <domain>/<owner>/<repo>
|
|
# Приводим к нижнему регистру для реестра
|
|
REGISTRY_IMAGE="git.zhukovsky.me/$(echo ${{ gitea.repository }} | tr '[:upper:]' '[:lower:]')"
|
|
|
|
# Находим ID образа, который мы только что загрузили (test-nix-hello:latest)
|
|
docker tag test-nix-hello:latest $REGISTRY_IMAGE:latest
|
|
docker push $REGISTRY_IMAGE:latest
|
|
|