54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
name: Docker Build and Release Upload
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: build database
|
|
run: |
|
|
docker build -t mistox-sql ./database
|
|
|
|
- name: build server
|
|
run: |
|
|
docker build --build-arg BASE_URL=https://mistox.com -t mistox-website .
|
|
|
|
- name: create release folder
|
|
run: |
|
|
mkdir release
|
|
|
|
- name: export database
|
|
run: docker save mistox-sql -o /mistox-sql.tar
|
|
|
|
- name: export server
|
|
run: docker save mistox-website -o /mistox-website.tar
|
|
|
|
- name: create release
|
|
run: |
|
|
RESPONSE=$(curl -X POST -H "Authorization: token ${{ secrets.PUBLISH_TOKEN }}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"tag_name": "v0.0.1",
|
|
"name": "Release v0.0.1",
|
|
"body": "This is an automated release",
|
|
"draft": false,
|
|
"prerelease": false
|
|
}' \
|
|
https://git.mistox.net/api/v1/repos/derek/MistoxCom-Angular/releases) && \
|
|
echo "(echo "$RESPONSE" | grep -o '"id":[ ]*[0-9]*' | head -n 1 | grep -o '[0-9]*')" > /release_id.txt
|
|
|
|
- name: publish database
|
|
run: |
|
|
RELEASE_ID=$(cat /release_id.txt)
|
|
curl -X POST -H "Authorization: token ${{ secrets.PUBLISH_TOKEN }}" \
|
|
-F name="mistox-sql.tar" \
|
|
-F attachment=@/mistox-sql.tar \
|
|
https://git.mistox.net/api/v1/repos/derek/MistoxCom-Angular/releases/$RELEASE_ID/assets
|