refactor: organize services into categories (#338) #233
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Development | |
on: | |
# Manual runs with option of dry-run (for testing CI pipeline) | |
workflow_dispatch: | |
inputs: | |
dry-run: | |
description: "Run in test mode without publishing artifacts" | |
required: false | |
default: false | |
type: boolean | |
# Pushes to main with changes to code paths | |
push: | |
# On main branch pushes | |
branches: | |
- main | |
# Watches shoutrrr, internal, pkg, shoutrrr.go, and Go modules | |
paths: | |
- shoutrrr/** | |
- internal/** | |
- pkg/** | |
- shoutrrr.go | |
- go.mod | |
- go.sum | |
jobs: | |
# Run Go tests and upload coverage | |
test: | |
uses: ./.github/workflows/test.yaml | |
permissions: | |
contents: read # For code checkout | |
# Build binaries, images, SBOMs, and attestations | |
build: | |
needs: test # Requires tests to pass | |
uses: ./.github/workflows/build.yaml | |
permissions: | |
contents: write # For code checkout and uploading release artifacts | |
packages: write # For pushing images to registries | |
attestations: write # For generating provenance and SBOMs | |
id-token: write # For OIDC auth to Docker Hub and GHCR | |
with: | |
build-type: dev # Development snapshot release | |
dry-run: ${{ fromJson(inputs.dry-run || 'false') }} # String to boolean, defaults false | |
secrets: | |
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} # Docker Hub username | |
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} # Docker Hub token | |
# Create multi-platform manifests | |
manifest: | |
# Runs after build | |
needs: build | |
# Skips in dry-run | |
if: ${{ !fromJson(inputs.dry-run || 'false') }} | |
permissions: | |
contents: read # For code checkout | |
packages: write # For pushing manifests | |
uses: ./.github/workflows/create-manifests.yaml | |
secrets: inherit | |
with: | |
build-type: dev # Tags images as latest-dev |