Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .github/workflows/build-and-upload.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions: {}

jobs:
ci:
uses: compliance-framework/workflows/.github/workflows/ci-go-plugin.yml@7b55019ed36050a57eb8273f6a67fd4b2395adb0 # v1.5.1
uses: compliance-framework/workflows/.github/workflows/ci-go-plugin.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
permissions:
actions: read
contents: read
Expand All @@ -21,14 +21,14 @@ jobs:
secrets: inherit

release-checks:
uses: compliance-framework/workflows/.github/workflows/release-checks.yml@7b55019ed36050a57eb8273f6a67fd4b2395adb0 # v1.5.1
uses: compliance-framework/workflows/.github/workflows/release-checks.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
permissions:
contents: read

notify:
needs: [ci, release-checks]
if: always()
uses: compliance-framework/workflows/.github/workflows/notify-failure.yml@7b55019ed36050a57eb8273f6a67fd4b2395adb0 # v1.5.1
uses: compliance-framework/workflows/.github/workflows/notify-failure.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
with:
needs: ${{ toJSON(needs) }}
permissions:
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/cut-prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: cut-prerelease
on:
workflow_dispatch:
permissions:
contents: read
jobs:
cut:
# Skipped while this is a template repo (plugin-template never releases); runs in repos created from it.
if: ${{ !github.event.repository.is_template }}
uses: compliance-framework/workflows/.github/workflows/cut-prerelease.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
permissions:
contents: read
secrets: inherit
26 changes: 26 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Publishes :pr-<number> previews for PRs labelled `preview` (no :main previews for plugins).
name: preview

on:
push:
branches: [main]
pull_request:
types: [opened, synchronize, reopened, labeled]

permissions:
contents: read

concurrency:
# A merged PR's events carry the base branch as github.ref, so key PR runs by number.
group: preview-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
preview:
uses: compliance-framework/workflows/.github/workflows/preview.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
with:
kind: go-plugin
on-main: false
permissions:
contents: read
packages: write
21 changes: 21 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Opens/updates the release PR and, once it merges, tags and publishes the release.
name: release-please

on:
push:
branches: [main]

permissions:
contents: read

concurrency:
group: release-please

jobs:
release-please:
# Skipped while this is a template repo (plugin-template never releases); runs in repos created from it.
if: ${{ !github.event.repository.is_template }}
uses: compliance-framework/workflows/.github/workflows/release-please.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
permissions:
contents: read
secrets: inherit
20 changes: 14 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
name: New Release
# Publishes the plugin (goreleaser archives + gooci upload) when a release is published.
name: release

on:
push:
tags:
- '*'
release:
types: [published]

permissions:
contents: read

jobs:
release:
# Skipped while this is a template repo (plugin-template never releases); runs in repos created from it.
if: ${{ !github.event.repository.is_template }}
uses: compliance-framework/workflows/.github/workflows/release-go-plugin.yml@6e7fc9c04b59c7d1117938da397f8a6f8df036ab # v1.5.2
with:
protocol-version: "2"
permissions:
contents: write # goreleaser attaches the archives to the release
packages: write
contents: write
uses: ./.github/workflows/build-and-upload.yml
secrets: inherit
4 changes: 4 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ archives:
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}

release:
prerelease: auto
replace_existing_artifacts: true

changelog:
sort: asc
filters:
Expand Down
3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.0.0"
}
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ Once you are ready to serve the plugin, you need to build the binaries which can
goreleaser release --snapshot --clean
```

## Releasing

For a repo created from this template:

* Releases come from release-please PRs: merging one tags `vX.Y.Z` and publishes the plugin.
* Release candidates (`vX.Y.Z-rcN`) come from the `cut-prerelease` workflow.
* If the repo already has releases, set `.release-please-manifest.json` to its current version first.

The release workflows are skipped in this template repo itself.

## Usage

You can use this plugin by passing it to the compliance agent or by specifying it in the agent config
Expand Down
21 changes: 21 additions & 0 deletions release-please-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"bump-minor-pre-major": true,
"initial-version": "0.1.0",
"changelog-sections": [
{ "type": "feat", "section": "Features" },
{ "type": "fix", "section": "Bug Fixes" },
{ "type": "perf", "section": "Performance Improvements" },
{ "type": "revert", "section": "Reverts" },
{ "type": "deps", "section": "Dependencies" },
{ "type": "chore", "section": "Miscellaneous Chores", "hidden": true },
{ "type": "ci", "section": "Continuous Integration", "hidden": true },
{ "type": "docs", "section": "Documentation", "hidden": true },
{ "type": "test", "section": "Tests", "hidden": true },
{ "type": "refactor", "section": "Code Refactoring", "hidden": true },
{ "type": "build", "section": "Build System", "hidden": true }
],
"packages": {
".": { "release-type": "go" }
}
}
Loading