Add Gitea Actions CI/CD
All checks were successful
CI / test (push) Successful in 10m24s

This commit is contained in:
2026-06-26 21:23:51 +09:00
parent 1a7c5878f8
commit 0de607fcdf
6 changed files with 287 additions and 1 deletions

View File

@@ -38,6 +38,12 @@ Run locally:
go run ./cmd/dataxl -from yaml -to tsv -i examples/people.yaml
```
Build release archives locally:
```sh
scripts/build-release.sh
```
## Test Coverage
The current tests cover:
@@ -49,9 +55,24 @@ The current tests cover:
When adding a new format or path rule, add tests around both directions where
possible.
## CI/CD
Gitea Actions workflows live under `.gitea/workflows`.
- `ci.yml`: runs on pushes to `main`, pull requests, and manual dispatch.
- `release.yml`: runs on `v*` tag pushes and manual dispatch with a `tag` input.
The CI workflow checks formatting, runs tests, builds the CLI, and performs a
small YAML -> TSV -> JSON smoke test.
The release workflow runs tests, cross-builds release archives for Linux,
macOS, and Windows on amd64/arm64, writes `checksums.txt`, creates or reuses a
Gitea Release, and uploads the generated assets. It uses the built-in
`${{ secrets.GITEA_TOKEN }}` provided by Gitea Actions.
## Release Notes
There is no automated release pipeline yet. A minimal release flow is:
Create a release by pushing a version tag:
```sh
go test ./...
@@ -59,6 +80,9 @@ git tag v0.1.0
git push origin main --tags
```
The same workflow can also be started manually from Gitea Actions by providing
the target tag as the `tag` input.
After tags exist, users can install a specific version:
```sh