77 lines
2.8 KiB
YAML
77 lines
2.8 KiB
YAML
name: Gitea Actions Demo
|
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
|
on:
|
|
push:
|
|
branches:
|
|
- "testing"
|
|
paths:
|
|
- 'infra/testing/dockerfile'
|
|
tags-ignore:
|
|
- '*'
|
|
workflow_dispatch: # Enables the manual run UI button
|
|
|
|
|
|
jobs:
|
|
Explore-Gitea-Actions:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
|
|
- name: List files in the repository
|
|
run: |
|
|
ls ${{ gitea.workspace }}
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Compute next version
|
|
id: versioning
|
|
run: |
|
|
latest="${{ vars.VERSION_TESTING }}"
|
|
next_version=$(echo "$latest" | awk -F. -v OFS=. '{$NF += 1 ; print}')
|
|
echo "next_version=$next_version" >> $GITHUB_ENV
|
|
echo "Variables used :"
|
|
echo "------------------------------------------------"
|
|
echo "Next version: $next_version"
|
|
|
|
|
|
- name: Login to gitea
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: gitea.tryton.geeraert.eu
|
|
username: ${{ secrets.USERNAME_GITEA }}
|
|
password: ${{ secrets.PASSWORD_GITEA }}
|
|
|
|
- name: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
file: infra/testing/dockerfile
|
|
push: true
|
|
build-args: |
|
|
ALLOWED_HOSTS='django-testing.tryton.geeraert.eu'
|
|
DEBUG='True'
|
|
CACHE_BUST=${{ env.next_version }}
|
|
tags: |
|
|
gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:latest
|
|
gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:${{ env.next_version }}
|
|
cache-from: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:buildcache
|
|
cache-to: type=registry,ref=gitea.tryton.geeraert.eu/pi-ux-ce/django-testing:buildcache,mode=max
|
|
|
|
- name: update version in the variable
|
|
run: |
|
|
curl -X PUT -H "Content-Type: application/json" \
|
|
--user ${{ secrets.USERNAME_GITEA }}:${{ secrets.PASSWORD_GITEA }} \
|
|
https://gitea.tryton.geeraert.eu/api/v1/repos/pi-ux-ce/${{ github.event.repository.name }}/actions/variables/VERSION_TESTING \
|
|
-d "{\"Value\":\"$next_version\"}"
|
|
|
|
- name: Rollout Django to force pulling the new image
|
|
uses: actions-hub/kubectl@master
|
|
env:
|
|
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
|
|
with:
|
|
args: rollout restart deployment django-testing -n django-testing
|
|
|
|
- run: echo "🍏 This job's status is ${{ job.status }}."
|