From 8f4034d0ef659c61f380ffef57b2beaba1765b57 Mon Sep 17 00:00:00 2001 From: Nikita Ulyanov Date: Fri, 16 Jan 2026 13:45:09 +0300 Subject: [PATCH 1/2] fix: update branch filter to include 'release-*' for push events --- .github/workflows/build-beta.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-beta.yml b/.github/workflows/build-beta.yml index 5356e70a0..8e2f0b4a9 100644 --- a/.github/workflows/build-beta.yml +++ b/.github/workflows/build-beta.yml @@ -1,7 +1,8 @@ name: build on: push: - branches: [dev] + branches: + - 'release-*' env: REPO: ${{ github.repository }} From 4c0e605e75985bb8680b4f36f290230cf6f1d43c Mon Sep 17 00:00:00 2001 From: Nikita Ulyanov Date: Fri, 16 Jan 2026 13:45:16 +0300 Subject: [PATCH 2/2] add: create build workflow for Docker images and tests --- .github/workflows/build-dev.yml | 218 ++++++++++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 .github/workflows/build-dev.yml diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml new file mode 100644 index 000000000..6bd6a2ce6 --- /dev/null +++ b/.github/workflows/build-dev.yml @@ -0,0 +1,218 @@ +name: build +on: + push: + branches: [dev] + +env: + REPO: ${{ github.repository }} + +jobs: + build-ssh: + runs-on: ubuntu-latest + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}_ssh_test:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + docker build integration_tests/ssh --tag $TAG --cache-from $TAG --build-arg BUILDKIT_INLINE_CACHE=1 + docker push $TAG + + build-tests: + runs-on: ubuntu-latest + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}_test:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + docker build --push --target=runtime -f .docker/test.Dockerfile . -t $TAG --cache-to type=gha,mode=max --cache-from $TAG --build-arg BUILDKIT_INLINE_CACHE=1 + + + run-ssh-test: + runs-on: ubuntu-latest + needs: [build-tests, build-ssh] + steps: + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Pull tests + run: cd integration_tests/ssh && docker compose pull + - name: run test enviroment + run: cd integration_tests/ssh && docker compose up -d + - name: run ssh test + run: cd integration_tests/ssh && ./run.sh + - name: shutdown test enviroment + run: cd integration_tests/ssh && docker compose up -d + + run-tests: + runs-on: ubuntu-latest + needs: build-tests + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Pull tests + env: + TAG: ghcr.io/${{ env.REPO }}_test:dev + run: docker compose -f docker-compose.remote.test.yml pull + - name: Run tests + env: + TAG: ghcr.io/${{ env.REPO }}_test:dev + run: docker compose -f docker-compose.remote.test.yml up --no-log-prefix --attach md-test --exit-code-from md-test + - name: Teardown tests + env: + TAG: ghcr.io/${{ env.REPO }}_test:dev + run: docker compose -f docker-compose.remote.test.yml down + + build-app: + runs-on: ubuntu-latest + needs: [build-tests, run-ssh-test, run-tests] + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + echo $TAG2 + docker build --push --target=runtime -f .docker/Dockerfile . -t $TAG --cache-to type=gha,mode=max --cache-from $TAG --build-arg BUILDKIT_INLINE_CACHE=1 + + build-kerberos: + runs-on: ubuntu-latest + needs: [build-tests, run-ssh-test, run-tests] + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}_kerberos:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + docker build \ + --push \ + --target=runtime \ + -f .docker/krb.Dockerfile . \ + -t $TAG \ + --cache-to type=gha,mode=max \ + --cache-from $TAG \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --build-arg VERSION=dev + + build-bind9: + runs-on: ubuntu-latest + needs: [build-tests, run-ssh-test, run-tests] + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}_bind9:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + docker build \ + --push \ + --target=runtime \ + -f .docker/bind9.Dockerfile . \ + -t $TAG \ + --cache-to type=gha,mode=max \ + --cache-from $TAG \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --build-arg VERSION=dev + + build-keadhcp4: + runs-on: ubuntu-latest + needs: [build-tests, run-ssh-test, run-tests] + steps: + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - uses: actions/checkout@v4 + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build docker image + env: + TAG: ghcr.io/${{ env.REPO }}_dhcp4:dev + DOCKER_BUILDKIT: '1' + run: | + echo $TAG + docker build \ + --push \ + --target=runtime \ + -f .docker/kea.Dockerfile . \ + -t $TAG \ + --cache-to type=gha,mode=max \ + --cache-from $TAG \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --build-arg VERSION=dev