Skip to content

use OpenAPI jobs from workflows repo (#348) #1059

use OpenAPI jobs from workflows repo (#348)

use OpenAPI jobs from workflows repo (#348) #1059

Workflow file for this run

name: Main
on:
push:
paths-ignore:
- "**.md"
- "**.jpg"
- "**.jpeg"
- "**.png"
- "index.html"
permissions:
# Required by golangci job to write annotations to the merge request.
contents: read
checks: write
jobs:
golang_quality:
uses: CubicrootXYZ/Workflows/.github/workflows/[email protected]
golang_test:
uses: CubicrootXYZ/Workflows/.github/workflows/[email protected]
needs: [build_openapi_spec] # Validates agains OpenAPI spec
with:
services: '{"database": {"image": "mysql:9.0", "ports": ["3306:3306"], "env": {"MYSQL_ROOT_PASSWORD": "mypass", "MYSQL_DATABASE": "remindme"}}}'
env: '{"TEST_DB_HOST": "database"}'
build_openapi_spec:
uses: CubicrootXYZ/Workflows/.github/workflows/[email protected]
with:
entrypoint: cmd/remindme/main.go
render_openapi_spec:
needs:
- build_openapi_spec
uses: CubicrootXYZ/Workflows/.github/workflows/[email protected]
with:
spec_artifact_name: openapi-spec
spec_artifact_path: docs/
spec_filename: swagger.yaml
# publish_documentation:
# runs-on: ubuntu-latest
# if: "${{ github.ref == 'refs/heads/main' }}"
# needs:
# - build_documentation
# # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
# permissions:
# pages: write
# id-token: write
# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
# steps:
# - name: Deploy to GitHub Pages
# if: "${{ github.ref == 'refs/heads/main' }}"
# id: deployment
# uses: actions/deploy-pages@v4
# with:
# artifact_name: rendered-api-docu
build_and_push_image:
needs: [golang_test, golang_quality, render_openapi_spec]
runs-on: ubuntu-latest
if: "!startsWith(github.ref, 'refs/tags/')"
steps:
- name: Checkout the repository
uses: actions/checkout@v3
- name: Build container
run: docker build --build-arg VERSION=${{ github.sha }} -t cubicrootxyz/remindme:beta .
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push development image
if: "${{ github.ref != 'refs/heads/main' }}"
run: |
docker tag cubicrootxyz/remindme:beta cubicrootxyz/remindme:${{ github.sha }}
docker push cubicrootxyz/remindme:${{ github.sha }}
- name: Push beta image
if: "${{ github.ref == 'refs/heads/main' }}"
run: docker push cubicrootxyz/remindme:beta