Commit Graph

1403 Commits (c0a9274d64df3393bddfbc35e88cad0d55497cbe)
 

Author SHA1 Message Date
CrazyMax a8eb2a7fbe
gitutil: override the locale to ensure consistent output
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Justin Chadwell fbb4f4dec8 bake: avoid nesting error diagnostics
With changes to the lazy evaluation, the evaluation order is no longer
fixed - this means that we can follow long and confusing paths to get to
an error.

Because of the co-recursive nature of the lazy evaluation, we need to
take special care that the original HCL diagnostics are not discarded
and are preserved so that the original source of the error can be
detected. Preserving the full trace is not necessary, and probably not
useful to the user - all of the file that is not lazily loaded will be
eagerly loaded after all struct blocks are loaded - so the error would
be found regardless.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell 46fd0a61ba
Merge pull request #1605 from jedevc/bake-fix-errors
bake: avoid early-exit for resolution failures
2 years ago
Justin Chadwell 6444c813dc
Merge pull request #1601 from jedevc/buildx-document-attestation-booleans
build: add docs for boolean attestation flags
2 years ago
Justin Chadwell dc8a2b0398 bake: avoid early-exit for resolution failures
With changes made to allow lazy evaluation, we were early exiting if an
undefined name was detected, either for a variable or a function.

This had two key implications:

1. The error messages changed, and became significantly less
   informative.

   For example, we went from:

   > Unknown variable; There is no variable named "FO". Did you mean "FOO"?, and 1 other diagnostic(s)

   To

   > Invalid expression; undefined variable "FO"

2. Any issues in our function detection from funcCalls which cause JSON
   functions to be erroneously detected cause invalid functions to be
   resolved, which causes new name resolution errors.

To avoid the above problems, we can defer the error from an undefined
name until HCL evaluation - which produces the more informative errors,
and does not suffer from incorrectly detecting JSON functions.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
CrazyMax d9780e27cd
Merge pull request #1602 from crazy-max/rm-releases-json
ci: remove releases-json workflow
2 years ago
CrazyMax ab44d03771
ci: remove releases-json workflow
This is now directly handled by our actions-toolkit. We keep
`.github/releases.json` file for now but will be removed on
next v0.11 release.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
crazy-max b53cb256e5
github: update .github/releases.json
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax c3075923f4
Merge pull request #1591 from crazy-max/update-compose
update github.com/compose-spec/compose-go to v1.9.0
2 years ago
CrazyMax a32881313b
Merge pull request #1596 from crazy-max/builder-fix-validation
builder: fix docker context not validated
2 years ago
Justin Chadwell 07548bc898 build: add docs for boolean attestation flags
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
CrazyMax 0e544fe835
builder: fix docker context not validated
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax 21ac4c34fb
update github.com/compose-spec/compose-go to v1.9.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Justin Chadwell d2fa4a5724
Merge pull request #1582 from jedevc/lint-fixups
Linting tidy-ups
2 years ago
Justin Chadwell 4bdf98cf20 lint: ban fmt.Errorf in preference of errors.Errorf
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell 5da09f0c23 lint: enable gosec
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell 48357ee0c6 bake: fix loop references
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell 6506166f02
Merge pull request #1579 from jedevc/refactor-controllers
Refactor controllers, moving them into a separate package
2 years ago
Justin Chadwell 5f130b25ad hack: move syntax directive to top of generated-files
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell a9fd128910 controller: move controllers out of commands into separate package
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago
Justin Chadwell cb94298a02
Merge pull request #1296 from ktock/monitor-list
monitor: Enable to run build and invoke in background
2 years ago
CrazyMax 046084c0b8
Merge pull request #1574 from crazy-max/ci-fix-workflow
ci: fix pr branch name in releases-json workflow
2 years ago
CrazyMax 18760253b9
ci: fix pr branch name in releases-json workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax ded6376ece
Merge pull request #1573 from crazy-max/fix-releases-json
ci: add workflow_dispatch in releases-json workflow
2 years ago
CrazyMax a4d60a451d
ci: add workflow_dispatch in releases-json workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Justin Chadwell 0f4030de5d
Merge pull request #1572 from crazy-max/ci-update-ver
ci: update buildx and buildkit to latest
2 years ago
CrazyMax f1a5a3ec50
ci: update buildx and buildkit to latest
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax 87beaefbb8
Merge pull request #1571 from crazy-max/fix-docs-upstream
ci: fix docs-upstream workflow
2 years ago
CrazyMax 451847183d
ci: fix docs-upstream workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax 7625a3a4b0
Merge pull request #1568 from crazy-max/silent-git-no-upstream
build: silently fail if git remote not found
2 years ago
CrazyMax 6db696748b
build: better message output for git provenance
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Tõnis Tiigi 14f9ae679d
Merge pull request #1566 from tonistiigi/fix-result-descriptor
build: fix multi-node merge to read descriptor from result
2 years ago
CrazyMax 4789d2219c
build: silently fail if git remote not found
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax eacecf657c
Merge pull request #1561 from crazy-max/fix-preferred-platform
build: fix preferred platform not taken into account
2 years ago
CrazyMax 1de0be240f
Merge pull request #1563 from crazy-max/releases-json
ci: generate releases.json on release event
2 years ago
CrazyMax ea4bec2bad
github: update .github/releases.json
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax 36d95bd3b9
ci: generate releases.json on release event
We are currently using the GitHub API in our setup-buildx-action
to check for latest and tagged releases to make sure they exist
before download. But this requires using a token to avoid
rate-limit. It's fine for public runners but GHES runners don't
have the `github.token` populated automatically. They need to
create a PAT.

This PR will solve this issue by generating and pushing a
`releases.json` file in this repo when we publish a GitHub Release
that will then be fetched through `raw.githubusercontent.com`
endpoint on `setup-buildx-action` repo. This endpoint is better
served for our purpose with 5000 requests per hour compared to the
GitHub API endpoint that is limited to 60 requests per hour (unauth)
and 1000 request per hour when authenticated.

Also ignore .github/releases.json file on pull request event as an
action in a workflow run can't trigger a new workflow run anyway.
See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#example-using-more-than-one-event

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Tonis Tiigi c33b310b48
build: fix multi-node merge to read descriptor from result
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2 years ago
Justin Chadwell 8af76c68a8
Merge pull request #1564 from AkihiroSuda/fix-1562
bake: SOURCE_DATE_EPOCH: fix `panic: assignment to entry in nil map`
2 years ago
Akihiro Suda 1f56f51740
bake: SOURCE_DATE_EPOCH: fix `panic: assignment to entry in nil map`
Fix issue 1562

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2 years ago
CrazyMax 49b3c0dba5
build: fix preferred platform not taken account
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Tõnis Tiigi a718d07f64
Merge pull request #1559 from tonistiigi/update-buildkit-v0.11.2
vendor: update buildkit to v0.11.2
2 years ago
Tonis Tiigi f6da7ee135
vendor: update buildkit to v0.11.2
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2 years ago
CrazyMax 7eb266de69
go.mod: bump to Go 1.19
Go 1.20 will be there soon, I think it's time to move our go.mod to
latest stable. We can then remove the compat in our vendor.Dockerfile

Downstream projects like compose or github.com/linuxkit/linuxkit should
not be affected.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
CrazyMax 9f821dabeb
Merge pull request #1548 from crazy-max/git-ls-remote
build: set remote origin url
2 years ago
Kohei Tokunaga a27b8395b1 Enable to run build and invoke in background
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2 years ago
Tõnis Tiigi b1b4e64c97
Merge pull request #1504 from jedevc/fix-1497
Refactor BuildWithResultHandler to simplify concurrency usage
2 years ago
CrazyMax c1058c17aa
build: set remote origin url
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2 years ago
Tõnis Tiigi 059c347fc2
Merge pull request #1549 from jedevc/silence-intoto-warnings
imagetools: silence intoto warnings
2 years ago
Justin Chadwell 7145e021f9 imagetools: silence intoto warnings
Signed-off-by: Justin Chadwell <me@jedevc.com>
2 years ago