Commit Graph

32 Commits (2c12385344b4b749df755d48a775131fd6a8f418)

Author SHA1 Message Date
Stefan Prodan bb1078d610
ci: Refactor GitHub workflows
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Eddie Knight 73692df272 Additional workflow permissions tweaks
Signed-off-by: Eddie Knight <knight@linux.com>
Eddie Knight 939a75115c Adjusted workflow permissions
Signed-off-by: Eddie Knight <knight@linux.com>
Stefan Prodan 348408e16e
Build with Go 1.19
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan 0b9e3d24ef
Update GitHub actions
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan b795e612f7
Update Go to v1.18
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan e44a58cba0
ci: Fix release notes generator
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan a402461f9c
Sign the release artifacts checksums and images
- add the Flux manifests and API schemas to checksums
- sign the checksum.txt with Cosign and GitHub OIDC
- sign the flux-cli container images with Cosign and GitHub OIDC

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan 11296cd94f
Publish Flux Software Bill of Materials (SBOM) in SPDX format
- generate SBOM for Flux Go modules with Syft
- publish the SBOM SPDX JSON files to GitHub releases with GoReleaser

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Aurel Canciu f3d143e5ee
Update Go to v1.17
Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
Hidde Beydals bb04ca36b2 Pin `crdjsonschema` action to commit
Pinned to commit before https://github.com/fluxcd/pkg/pull/189 due to
introduction faulty behavior.

Signed-off-by: Hidde Beydals <hello@hidde.co>
Hidde Beydals fc94b1af7a Revert "Merge pull request from chanwit/json_schemas"
This reverts commit 75a18b4548, reversing
changes made to e72214e266.

Signed-off-by: Hidde Beydals <hello@hidde.co>
Chanwit Kaewkasi 716b41e91b publish json schemas as a single URL
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>

This change publishes the auto-generated JSON schemas as a single URL,
so that it is consumable by a tool like VS Code.

The CRD generator creates 2 files, a tar.gz for Kubeval,
and another one is a JSON file. The JSON file is a combination of
all schemas, put under the "oneOf" operator.
Michael Bridgen 9d9fff5796 Update Makefile target in release workflow
There's another location which uses the "manifests directory" target
directly, but isn't run when testing a PR: the release workflow.

Signed-off-by: Michael Bridgen <michael@weave.works>
Stefan Prodan 68046067c5
Generate OpenAPI schema in CI
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Hidde Beydals d0403038ed Enable QEMU and Docker Buildx in release action
Signed-off-by: Hidde Beydals <hello@hidde.co>
Hidde Beydals ba6da23323 Make manifests dir `bundle.sh` configurable
There was an assumption in this script that it is always executed in Git
repository/directory, this is however not always true, for example when
one downloads the `.tar.gz` that is made available for every release
by GitHub (and used in one of our AUR packages).

This commit changes this, and makes the first argument of `bundle.sh`
configurable, so a custom manifests directory can always be defined
_without_ relying on Git.

Omitting it, or passing an empty string, will still fall back to the
previous behavior of using `git rev-parse --show-toplevel`.

Signed-off-by: Hidde Beydals <hello@hidde.co>
Hidde Beydals 2b7a0f3fd4 Improve build process embedded manifests
This commit changes the way the build of manifests is triggered by
making smarter use of the capabilities of Make. The result should be
that the manifests are only regenerated if:

1. There is no `cmd/flux/manifests/` directory.
2. There have been made changes to the YAML files in the `manifests/`
   directory that are newer than the files in `cmd/flux/manifests/`.

Signed-off-by: Hidde Beydals <hello@hidde.co>
Stefan Prodan 6003d11156
Embed the install manifests in flux binary
- add make target for generating the install manifests using kustomize
- embed the generated manifests in flux binary
- the install and bootstrap commands default to using the embedded manifests
- download the install manifests from GitHub only if the install/bootstrap version arg is set

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Stefan Prodan 2fe55bcdde
Update Go to v1.16
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Hidde Beydals 1b5db157b1 Align formatting and extensions workflows
Signed-off-by: Hidde Beydals <hello@hidde.co>
Aurel Canciu 093a91c7fc
Fix syntax error introduced earlier
Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
Stefan Prodan 32e949598e
Publish install manifest to GitHub releases
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
Aurel Canciu 5eecf03af6
Add AUR_BOT_SSH_PRIVATE_KEY env var for goreleaser
The AUR_BOT_SSH_PRIVATE_KEY environment variable needs to be set in
goreleaser so publishing the packages to AUR can work.

Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
stefanprodan a5a5908fb5 Use GitHub actions from fluxcd/pkg@main
stefanprodan 4ab67aaf90 Update Go to v1.15
stefanprodan ca1f84d22b Publish Homebrew formula
stefanprodan 31d4b62bf3 Include author in changelog
Replace kustomize action with fluxcd/pkg/actions
stefanprodan 422724bd2d Publish manifests as release assets
stefanprodan 83843bf373 Restore release notes
stefanprodan d6d29ea8f4 Init release notes
stefanprodan 70072f300a Add release workflow to CI