Skip to content

feat: create self-contained CI workflows - #1

Merged
Tchoupinax merged 3 commits into
masterfrom
devin/1780479740-create-ci
Jun 3, 2026
Merged

feat: create self-contained CI workflows#1
Tchoupinax merged 3 commits into
masterfrom
devin/1780479740-create-ci

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 3, 2026

Copy link
Copy Markdown

Summary

Simplified CI: build check on PRs, goreleaser release on push to master.

Workflows:

Workflow Trigger What it does
pull-request.yaml PR goreleaser snapshot build (verifies compilation for all targets)
master.yml push to master goreleaser release --clean — creates GitHub release with assets

.goreleaser.yml:

  • Explicit target matrix: linux/{amd64,arm64,386}, darwin/{amd64,arm64}, windows/386
  • CGO_ENABLED=0, tar.gz archives, sha256 checksums

No tag-based pipeline — release happens directly on merge to master.

Link to Devin session: https://app.devin.ai/sessions/8976a83c03e549d0a5eda0bdbab4e551
Requested by: @Tchoupinax

- pull-request.yaml: lint (golangci-lint), test (go test), build
  (goreleaser snapshot), and auto-labels on PRs. All jobs use
  paths-filter to skip when no Go files changed.
- master.yml: release-drafter to prepare draft releases on push to
  master.
- tag.yml: goreleaser release on tag push + brew registry update.
- goreleaser: explicit build targets (linux, darwin, windows/386),
  CGO_ENABLED=0, tar.gz archives, sha256 checksums.

Replaces previous workflows that relied on composite actions from
tchoupinax/repo-config with inline steps.

Co-Authored-By: corentin.filoche <corentinfiloche@hotmail.fr>
@devin-ai-integration

Copy link
Copy Markdown
Author
Original prompt from corentin.filoche

Create the CI for this repository
https://github.com/reelevant-tech/package-json-formatter

In the GitHub release, I am expecting those assets

package-json-formatter_0.1.0_checksums.txt
sha256:9c0b30130a1c444f96c692e19aa7b2f3afeb3bef64a9179a7315a51ace2adcba
916 Bytes
Apr 12
package-json-formatter_0.1.0_darwin_amd64.tar.gz
sha256:cf562e000d990a7d4046f784679bdd96db61dbeb4f1e74430f88b452b84cbb09
1.22 MB
Apr 12
package-json-formatter_0.1.0_darwin_arm64.tar.gz
sha256:0b77895c5d5e71d78957723b47e5d739d05b26bec4a51543d61d469703a33c48
1.12 MB
Apr 12
package-json-formatter_0.1.0_linux_386.tar.gz
sha256:984ac977f5e1f2211bce0c6db8f818b499210b24b76af5b50e60da3f4b986afa
1.14 MB
Apr 12
package-json-formatter_0.1.0_linux_amd64.tar.gz
sha256:6f73010f92d0ede0b028ac4b4f5ee37c01bbbd88f2fd6cf14abda61dffab7c4e
1.21 MB
Apr 12
package-json-formatter_0.1.0_linux_arm64.tar.gz
sha256:c12fde010ca64892e4fe3b39c7c2e0fc94e08220cabe66c2b9d41fda7fbd087c
1.1 MB
Apr 12
package-json-formatter_0.1.0_windows_386.tar.gz
sha256:9811bfc94a491b1a641c759cbda660810ff99e7bfd057d8b2010da5bcdb8e4b4
1.2 MB
Apr 12

@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Comment thread .github/workflows/master.yml Outdated
uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ secrets.DEPLOY_APP_ID }}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use GitHub token from the CI

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — switched to ${{ github.token }} and added the required permissions block (contents: write, pull-requests: read).

Co-Authored-By: corentin.filoche <corentinfiloche@hotmail.fr>
@Tchoupinax

Copy link
Copy Markdown
Collaborator

remove tag pipeline
only get build on PR and release on master

- Remove tag.yml (no tag-based release)
- PR workflow: only goreleaser snapshot build
- Master workflow: goreleaser release with GITHUB_TOKEN

Co-Authored-By: corentin.filoche <corentinfiloche@hotmail.fr>
@devin-ai-integration

Copy link
Copy Markdown
Author

Done — simplified per your feedback:

  • Removed tag.yml entirely
  • PR workflow now only has the goreleaser snapshot build check
  • Master workflow does the actual goreleaser release --clean with GITHUB_TOKEN

@Tchoupinax
Tchoupinax merged commit 6b6f2d6 into master Jun 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant