Skip to content

Bump python from 3.12.5-alpine to 3.13.0-alpine (#256) #675

Bump python from 3.12.5-alpine to 3.13.0-alpine (#256)

Bump python from 3.12.5-alpine to 3.13.0-alpine (#256) #675

Workflow file for this run

name: CI/CD
on:
pull_request:
push:
branches:
- "*"
tags:
- "*"
schedule:
- cron: "0 8 1 * *"
jobs:
checks:
runs-on: ubuntu-latest
name: Check pushed paths
outputs:
should-release: ${{ steps.semver-checkout.outputs.should-release == 'true' && github.event_name != 'pull_request' }}
version: ${{ steps.semver-checkout.outputs.version }}
is-prerelease: ${{ steps.semver-checkout.outputs.is-github-prerelease }}
doc-updated: ${{ steps.filter.outputs.md }}
steps:
- id: semver-checkout
name: Checkout
uses: EasyDesk/action-semver-checkout@v1
- id: filter
uses: dorny/paths-filter@v3
if: github.event_name != 'schedule'
with:
filters: |
md:
- '**/*.md'
- '*.md'
test:
name: Tests on self
uses: ./.github/workflows/test.yml
release:
name: GitHub Release Job
if: ${{ needs.checks.outputs.should-release == 'true' }}
needs:
- checks
- test
runs-on: ubuntu-20.04
concurrency: release
permissions:
contents: write
steps:
- uses: EasyDesk/action-semver-release@v1
with:
version: ${{ needs.checks.outputs.version }}
prerelease: ${{ needs.checks.outputs.is-prerelease }}
push-to-registries:
name: Push Docker image to multiple registries
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
needs:
- test
- checks
permissions:
packages: write
contents: write
concurrency: registries
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
# list of Docker images to use as base name for tags
images: |
deloo/markdown-docs
ghcr.io/ldeluigi/markdown-docs
# generate Docker tags based on the following events/attributes
tags: |
type=edge
type=schedule,pattern=nightly
type=schedule,pattern=auto-{{date 'YYYYMMDDHHmm'}}
type=semver,pattern={{version}},enable=${{ needs.checks.outputs.should-release == 'true' }}
type=semver,pattern={{major}}.{{minor}},enable=${{ needs.checks.outputs.should-release == 'true' }}
type=semver,pattern={{major}},enable=${{ needs.checks.outputs.should-release == 'true' && !startsWith(github.ref, 'refs/tags/v0.') }}
labels: |
maintainer=ldeluigi
org.opencontainers.image.title=Markdown Docs
org.opencontainers.image.description=Contains scripts to generate documentation from markdown and PlantUML.
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
post-deploy-test:
name: Post-deploy test
needs: [push-to-registries]
uses: ./.github/workflows/post-deploy-test.yml
update-gh-pages:
name: Generate and upload new GitHub Pages
runs-on: ubuntu-latest
needs:
- release
- push-to-registries
concurrency: github-pages
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run action
uses: ./
with:
src: .
dst: ./result
icon: file-document-edit
- name: Deploy GH Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./result