open-redirect/.gitea/workflows/build dev.yaml
edraft 0d44ee8b33
Some checks failed
Build on push / prepare (push) Successful in 5s
Build on push / build-redirector (push) Failing after 5s
Build on push / build-api (push) Failing after 11s
Build on push / build-web (push) Failing after 44s
New version format
2025-01-17 20:17:27 +01:00

143 lines
4.2 KiB
YAML

name: Build on push
run-name: Build on push
on:
push:
branches:
- dev
jobs:
prepare:
runs-on: [runner]
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Get Date and Build Number
run: |
DATE=$(date +'%Y.%m.%d')
git fetch --tags
TAG_COUNT=$(git tag -l "${DATE}.*" | wc -l)
BUILD_NUMBER=$(($TAG_COUNT + 1))
BUILD_VERSION="${DATE}.${BUILD_NUMBER}-dev"
echo "BUILD_VERSION=$BUILD_VERSION" >> $GITHUB_ENV
echo "$BUILD_VERSION" > build_version.txt
- name: Create Git Tag for Build
run: |
git config user.name "ci"
git config user.email "dev@sh-edratf.de"
git tag ${{ env.BUILD_VERSION }}
git push origin ${{ env.BUILD_VERSION }}
- name: Save Version Info
run: |
echo "VERSION = \"${{ env.BUILD_VERSION }}\"" > api/version.py
- name: Upload build version artifact
uses: actions/upload-artifact@v3
with:
name: build-version
path: build_version.txt
build-api:
runs-on: [runner]
needs: prepare
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Download build version artifact
uses: actions/download-artifact@v3
with:
name: build-version
- name: Load build version
run: |
BUILD_VERSION=$(cat build_version.txt)
echo "Loaded BUILD_VERSION=$BUILD_VERSION"
- name: Build docker
run: |
cd api
docker build -t git.sh-edraft.de/sh-edraft.de/open-redirect-api:$BUILD_VERSION .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
docker push git.sh-edraft.de/sh-edraft.de/open-redirect-api:${{ needs.prepare.outputs.build_version }}
build-redirector:
runs-on: [runner]
needs: prepare
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Build docker
run: |
cd api
docker build -f dockerfile_redirector -t git.sh-edraft.de/sh-edraft.de/open-redirect-redirector:${{ needs.prepare.outputs.build_version }} .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
docker push git.sh-edraft.de/sh-edraft.de/open-redirect-redirector:${{ needs.prepare.outputs.build_version }}
build-web:
runs-on: [runner]
needs: prepare
container: git.sh-edraft.de/sh-edraft.de/act-runner:latest
steps:
- name: Clone Repository
uses: https://github.com/actions/checkout@v3
with:
token: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Prepare web build
run: |
cd web
npm ci
- name: Build web
run: |
cd web
npm run build
- name: Build docker
run: |
cd web
docker build -t git.sh-edraft.de/sh-edraft.de/open-redirect-web:${{ needs.prepare.outputs.build_version }} .
- name: Login to registry git.sh-edraft.de
uses: https://github.com/docker/login-action@v1
with:
registry: git.sh-edraft.de
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_ACCESS_TOKEN }}
- name: Push image
run: |
docker push git.sh-edraft.de/sh-edraft.de/open-redirect-web:${{ needs.prepare.outputs.build_version }}