64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
name: authentik-on-tag
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'version/*'
|
|
|
|
jobs:
|
|
build:
|
|
name: Create Release from Tag
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- name: Pre-release test
|
|
run: |
|
|
sudo apt-get install -y pwgen
|
|
echo "AUTHENTIK_TAG=latest" >> .env
|
|
echo "PG_PASS=$(pwgen 40 1)" >> .env
|
|
echo "AUTHENTIK_SECRET_KEY=$(pwgen 50 1)" >> .env
|
|
docker-compose pull -q
|
|
docker build \
|
|
--no-cache \
|
|
-t beryju/authentik:latest \
|
|
-f Dockerfile .
|
|
docker-compose up --no-start
|
|
docker-compose start postgresql redis
|
|
docker-compose run -u root --entrypoint /bin/bash server -c "pip install --no-cache -r requirements-dev.txt && ./manage.py test authentik"
|
|
- name: Install Helm
|
|
run: |
|
|
apt update && apt install -y curl
|
|
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
|
|
- name: Helm package
|
|
run: |
|
|
helm dependency update helm/
|
|
helm package helm/
|
|
mv authentik-*.tgz authentik-chart.tgz
|
|
- name: Extract version number
|
|
id: get_version
|
|
uses: actions/github-script@0.2.0
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
script: |
|
|
return context.payload.ref.replace(/\/refs\/tags\/version\//, '');
|
|
- name: Create Release
|
|
id: create_release
|
|
uses: actions/create-release@v1.0.0
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: Release ${{ steps.get_version.outputs.result }}
|
|
draft: true
|
|
prerelease: false
|
|
- name: Upload packaged Helm Chart
|
|
id: upload-release-asset
|
|
uses: actions/upload-release-asset@v1.0.1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: ./authentik-chart.tgz
|
|
asset_name: authentik-chart.tgz
|
|
asset_content_type: application/gzip
|