Commit Graph

2447 Commits

Author SHA1 Message Date
Fabiano Soares Honorato
33bc28fa85 Fix instrumented approve policies calling apply (#2977) 2023-01-12 14:06:35 -08:00
nitrocode
c94e63c37b chore(test): fix atlantis import test (#2970)
* Fix e2e import test

* Update exp-output-import-dir1-ops-dummy1.txt

* Update exp-output-import-dir1-ops-dummy2.txt

* Update exp-output-plan.txt
v0.22.3-pre.20230111
2023-01-11 17:18:06 -08:00
Ken Kaizu
c77149396a fix: atlantis import on workspaces (#2937)
* atlantis import not works on workspace

* extract workspace_step_runner_delegate from plan_step_runner

* import step runner requires workspace delegate
2023-01-11 17:53:45 -06:00
nitrocode
9461766ecc Bump atlantis-base:2023-01-11 (#2968) 2023-01-11 14:17:56 -06:00
Ken Kaizu
6f28b6a8e4 fix: trim space markdown renderer (#2947)
* chore: trim space rendered templates

* regen e2e results

* revert parallel output substring check test case

* follow master branch

* follow main branch

* Update approve_policies_command_runner_test.go

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2023-01-10 23:48:20 -06:00
renovate[bot]
35151e6730 chore(deps): update dependency open-policy-agent/conftest to v0.38.0 (#2963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 23:26:42 -06:00
nitrocode
ad18c02f4e chore(deps): use testing-env:latest (#2966)
* Update config.yml

* Update test.yml

* Update Makefile
2023-01-10 22:17:07 -06:00
nitrocode
16c98fec45 chore(docker): use 11.6-slim (#2965) 2023-01-10 22:04:15 -06:00
renovate[bot]
67c1fd1c51 chore(deps): update golang docker tag to v1.19.5 (#2962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:57:15 -06:00
renovate[bot]
15384efac9 chore(deps): update dependency open-policy-agent/conftest to v0.38.0 (#2964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:47:22 -06:00
renovate[bot]
b47beabd5b chore(deps): update alpine docker tag to v3.17.1 (#2961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:37:56 -06:00
renovate[bot]
0cbc15c65d fix(deps): update module github.com/google/go-github/v49 to v49.1.0 (#2959)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:34:40 -06:00
Johannes Würbach
48b342f9f1 feat: allow to unlock closed PRs (#2916) v0.22.3-pre.20230110 2023-01-10 16:58:02 -06:00
Darren Worrall
7746655eb1 Support team owners for policies (#2953) 2023-01-10 16:53:05 -06:00
Tomás Mota
87f9f9a6f4 Fix docs wording (#2957) 2023-01-09 23:20:17 -08:00
Darren Worrall
847cac712e Add ApprovePoliciesCommandRunner owner tests (#2955) 2023-01-09 17:29:50 -05:00
nitrocode
3ed8f8570b Bump base to 2023-01-09 (#2956) 2023-01-09 11:05:00 -06:00
nitrocode
5715f3d89d feat(build): use ~= and >= package constraints (#2896)
* Pin dependencies using ~= and >=

* Use atlantis-base:latest

* Add schedules for atlantis-base and atlantis-image gha

* Update Dockerfile

* Update atlantis-image.yml

* Update atlantis-base.yml
2023-01-09 10:15:32 -06:00
renovate[bot]
e4473ce1a2 chore(deps): update dependency raviqqe/muffet to v2.6.3 (#2950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-08 10:42:08 -05:00
Ken Kaizu
ca507560f4 fix: set ctx.PullRequestStatus in import_command_runner for import_requirements (#2936)
* refactor: pull_status_fetcher contains vcsStatusName in struct / reduce FetchPullStatus parameter

* import_command_runner need to set ctx.PullRequestStatus for import_requirements
2023-01-08 10:22:33 -05:00
Ken Kaizu
c48c994bba chore: use actions/checkout@v3 (#2948) 2023-01-08 00:08:08 -05:00
nitrocode
deb0ff51dd docs: add release svg to readme (#2946) 2023-01-07 09:09:07 -05:00
renovate[bot]
f45b2b27ea chore(deps): update node.js to v18.13.0 (#2944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 02:31:17 -05:00
renovate[bot]
7b87f029c5 fix(deps): update module github.com/alicebob/miniredis/v2 to v2.30.0 (#2945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 02:24:11 -05:00
renovate[bot]
9b7704ae38 chore(deps): update actions/checkout action to v3.3.0 (#2943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-07 02:20:42 -05:00
nitrocode
7ca6b01aac chore: release v0.22.2 (#2941) v0.22.2 2023-01-06 16:47:52 -06:00
PePe Amengual
9d4e2b5b1f Adding api-secret flag to docs (#2940) 2023-01-06 16:45:38 -06:00
Ken Kaizu
46bf0466c0 fix: markdown renderer use ExecutableName instead atlantis (#2939)
* make MarkdownRenderer private

* ExecutableName is available on markdown renderer common data

* replace template atlantis name with .ExecutableName

* MarkdownRenderer fields can be private, but itself needs public

* reuse commonData anywhere in renderer

* revert
2023-01-06 16:20:14 -06:00
Bruno Schaatsbergen
c3ad56306a docs: add Google Cloud module to deployment (#2938)
* feature the Google Cloud Compute Engine module in the deployment documentation.

* Change `runs` to `deploys`

* Rephrase the text related to the Terraform module

* Update runatlantis.io/docs/deployment.md

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>

* Change ref to Terraform registry

* Add a space before the registry link

* Update runatlantis.io/docs/deployment.md

* Update runatlantis.io/docs/deployment.md

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2023-01-06 09:00:36 -06:00
renovate[bot]
b1b0b898cc chore(deps): update ghcr.io/runatlantis/testing-env docker tag to v2023 (#2931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-05 00:24:02 -05:00
renovate[bot]
fbdd0c729a fix(deps): update module github.com/google/go-github/v48 to v49 (#2928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-05 00:22:37 -05:00
renovate[bot]
8bb61b392c fix(deps): update module golang.org/x/term to v0.4.0 (#2926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-05 00:09:15 -05:00
Ken Kaizu
f2c1046ab9 chore: enable renovate gomodUpdateImportPaths (#2929) 2023-01-05 00:07:50 -05:00
renovate[bot]
a59f38236c fix(deps): update module golang.org/x/text to v0.6.0 (#2927)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-04 18:45:41 -05:00
Rui Chen
27ac7a8daa deps: tf 1.3.7 (#2925)
Signed-off-by: Rui Chen <rui@chenrui.dev>

Signed-off-by: Rui Chen <rui@chenrui.dev>
2023-01-04 14:47:09 -08:00
Bruno Schaatsbergen
673c4f142f docs: Explicit restrictions of atlantis user apply to the --data-dir flag (#2915)
* Change the directory mentioned in the `--data-dir` flag description

* Be more explicit on how restrictions of the atlantis user may apply to the `--data-dir` flag

* wrap flag in quotes

* `Please note` -> `Note`

* revert back to `~/atlantis`

* Update server-configuration.md
2023-01-04 14:46:52 -08:00
Leandro López
04f1d062d6 Improve plan summary performance (#2907)
* Add benchmark for *PlanSuccess.Summary

This is for taking a baseline and comparing with future
improvements. I just did a test run and got the following results:

$ go test -bench=. ./server/events/command
goos: darwin
goarch: arm64
pkg: github.com/runatlantis/atlantis/server/events/command
BenchmarkPlanSuccess_Summary/empty_summary,_no_matches-10                  82564             12415 ns/op           27352 B/op        114 allocs/op
BenchmarkPlanSuccess_Summary/changes-10                                   167904              7148 ns/op           14309 B/op         69 allocs/op
BenchmarkPlanSuccess_Summary/no_changes-10                                 92410             12984 ns/op           27705 B/op        114 allocs/op
BenchmarkPlanSuccess_Summary/changes_outside_Terraform-10                  89256             13505 ns/op           27882 B/op        117 allocs/op
BenchmarkPlanSuccess_Summary/changes_and_changes_outside-10               159199              7527 ns/op           14493 B/op         72 allocs/op
PASS
ok      github.com/runatlantis/atlantis/server/events/command   7.536s

To have a better comparison I've ran all the benchmarks with 200,000
iterations, and got this:

$ go test -bench=. ./server/events/command -benchtime=200000x
goos: darwin
goarch: arm64
pkg: github.com/runatlantis/atlantis/server/events/command
BenchmarkPlanSuccess_Summary/changes_and_changes_outside-10               200000              7637 ns/op           14487 B/op         72 allocs/op
BenchmarkPlanSuccess_Summary/empty_summary,_no_matches-10                 200000             12379 ns/op           27352 B/op        114 allocs/op
BenchmarkPlanSuccess_Summary/changes-10                                   200000              7134 ns/op           14312 B/op         69 allocs/op
BenchmarkPlanSuccess_Summary/no_changes-10                                200000             12960 ns/op           27692 B/op        114 allocs/op
BenchmarkPlanSuccess_Summary/changes_outside_Terraform-10                 200000             13731 ns/op           27862 B/op        117 allocs/op
PASS
ok      github.com/runatlantis/atlantis/server/events/command   11.837s

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>

* Compile summary regexps only once

By initializing these regexes at program first run instead of every
time the function is called we gain better resource usage and much
faster results, as shown in this results with 200,000 iterations as in
the previous commit:

$ go test -bench=. ./server/events/command -benchtime=200000x
goos: darwin
goarch: arm64
pkg: github.com/runatlantis/atlantis/server/events/command
BenchmarkPlanSuccess_Summary/empty_summary,_no_matches-10                 200000                29.49 ns/op            0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/changes-10                                   200000               450.4 ns/op             0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/no_changes-10                                200000               357.9 ns/op             0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/changes_outside_Terraform-10                 200000               824.1 ns/op           193 B/op          3 allocs/op
BenchmarkPlanSuccess_Summary/changes_and_changes_outside-10               200000               754.8 ns/op           177 B/op          3 allocs/op
PASS
ok      github.com/runatlantis/atlantis/server/events/command   0.943s

With 200,000 iterations the results were almost immediately and I
couldn't observe the real performance, so I've removed the limitation
and got the following:

$ go test -bench=. ./server/events/command -benchtime=200000x
goos: darwin
goarch: arm64
pkg: github.com/runatlantis/atlantis/server/events/command
BenchmarkPlanSuccess_Summary/empty_summary,_no_matches-10                 200000                29.49 ns/op            0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/changes-10                                   200000               450.4 ns/op             0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/no_changes-10                                200000               357.9 ns/op             0 B/op          0 allocs/op
BenchmarkPlanSuccess_Summary/changes_outside_Terraform-10                 200000               824.1 ns/op           193 B/op          3 allocs/op
BenchmarkPlanSuccess_Summary/changes_and_changes_outside-10               200000               754.8 ns/op           177 B/op          3 allocs/op
PASS
ok      github.com/runatlantis/atlantis/server/events/command   0.943s

I've also compared the results of running the benchamrks with 200,000
iterations, 10 times each, and these are the results:

$ benchstat orig.txt improv.txt
name                                                old time/op    new time/op    delta
PlanSuccess_Summary/empty_summary,_no_matches-10      12.6µs ± 2%     0.0µs ± 1%   -99.90%  (p=0.000 n=10+9)
PlanSuccess_Summary/changes-10                        7.19µs ± 0%    0.36µs ± 2%   -94.96%  (p=0.000 n=8+9)
PlanSuccess_Summary/no_changes-10                     13.2µs ± 2%     0.4µs ± 0%   -97.27%  (p=0.000 n=10+9)
PlanSuccess_Summary/changes_outside_Terraform-10      13.7µs ± 1%     0.8µs ± 0%   -94.02%  (p=0.000 n=9+9)
PlanSuccess_Summary/changes_and_changes_outside-10    7.71µs ± 5%    0.75µs ± 0%   -90.21%  (p=0.000 n=10+8)

name                                                old alloc/op   new alloc/op   delta
PlanSuccess_Summary/empty_summary,_no_matches-10      27.4kB ± 0%     0.0kB       -100.00%  (p=0.000 n=10+10)
PlanSuccess_Summary/changes-10                        14.3kB ± 0%     0.0kB       -100.00%  (p=0.000 n=9+10)
PlanSuccess_Summary/no_changes-10                     27.7kB ± 0%     0.0kB       -100.00%  (p=0.000 n=10+10)
PlanSuccess_Summary/changes_outside_Terraform-10      27.9kB ± 0%     0.2kB ± 0%   -99.31%  (p=0.000 n=10+7)
PlanSuccess_Summary/changes_and_changes_outside-10    14.5kB ± 0%     0.2kB ± 0%   -98.78%  (p=0.000 n=10+8)

name                                                old allocs/op  new allocs/op  delta
PlanSuccess_Summary/empty_summary,_no_matches-10         114 ± 0%         0       -100.00%  (p=0.000 n=10+10)
PlanSuccess_Summary/changes-10                          69.0 ± 0%       0.0       -100.00%  (p=0.000 n=10+10)
PlanSuccess_Summary/no_changes-10                        114 ± 0%         0       -100.00%  (p=0.000 n=10+10)
PlanSuccess_Summary/changes_outside_Terraform-10         117 ± 0%         3 ± 0%   -97.44%  (p=0.000 n=10+10)
PlanSuccess_Summary/changes_and_changes_outside-10      72.0 ± 0%       3.0 ± 0%   -95.83%  (p=0.000 n=10+10)

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>

* Remove extra allocation

There's no need for fmt.Sprintf for such a simple use.

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>

* Add MarkdownRenderer benchmark for diff markdown format

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>

* Compile markdown diff regexes once

This change doesn't improve performance as dramatically as the summary
regexes do, however, it does reduce the amount of resources used:

$ benchstat markdowndiff.orig.txt markdowndiff.inkel.txt
name                                                                                                                   old time/op    new time/op    delta
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_true-10      727µs ± 0%     717µs ± 2%   -1.31%  (p=0.002 n=10+10)
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_false-10     725µs ± 0%     715µs ± 1%   -1.33%  (p=0.000 n=9+10)

name                                                                                                                   old alloc/op   new alloc/op   delta
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_true-10      171kB ± 0%     153kB ± 0%  -10.60%  (p=0.000 n=10+10)
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_false-10     171kB ± 0%     153kB ± 0%  -10.60%  (p=0.000 n=10+10)

name                                                                                                                   old allocs/op  new allocs/op  delta
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_true-10        364 ± 0%       214 ± 0%  -41.29%  (p=0.000 n=10+9)
RenderProjectResultsWithEnableDiffMarkdownFormat/single_successful_plan_with_diff_markdown_formatted/verbose_false-10       358 ± 0%       207 ± 0%  -42.05%  (p=0.000 n=10+10)

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>

Signed-off-by: Leandro López (inkel) <leandro.lopez@grafana.com>
2023-01-04 12:28:51 -08:00
PePe Amengual
5bcecf34e7 chore: update slack invite link (#2924) 2023-01-04 15:15:17 -05:00
nitrocode
6ca3604d4e chore: release v0.22.1 (#2914) v0.22.1 2023-01-03 15:34:12 -05:00
nitrocode
1fc3dd1b8d Disable bump-homebrew-action (#2906)
* Update release.yml

* Apply suggestions from code review

* Disable homebrew bump
2023-01-03 14:31:31 -05:00
Sebastian Poxhofer
a508bdb255 fix(discardApprovalOnPlan): add missing conditional and tests (#2913)
* fix(discardApprovalOnPlan): add missing conditional and tests

* tests(discardApprovalOnPlan): match for any Pull request or repo for turned off discarding

* Apply suggestions from code review

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>

* Update server/events/plan_command_runner.go

* Update server/events/plan_command_runner.go

Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2023-01-03 10:21:37 -06:00
kf-rammanokar
8b9a70dfb7 Release 0.22.0 (#2910)
* updated atlantis version to 0.22.0

* Update bundle.yaml

* Update CHANGELOG.md

Co-authored-by: Rammanokar.S <rammanokar@git.com>
Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2023-01-03 02:04:09 -05:00
Demetrius Moro
9595b230e8 fix: syncing doc variable name with current code (#2902)
Current code with correct name (2022-12-30): https://github.com/demetriusmoro/atlantis/blob/main/cmd/server.go#L178
v0.22.0
2022-12-30 13:29:07 -06:00
nitrocode
a714a6059d docs: add yaml anchors (#2898) 2022-12-29 20:46:46 -06:00
nitrocode
b06e3f2c63 Add docker labels to images (#2897) 2022-12-29 15:31:57 -06:00
nitrocode
8f33f43637 Add tests section to PR template (#2895) 2022-12-29 13:42:43 -06:00
nitrocode
d82853ac84 chore(deps): Use go get -u to bump dependencies (#2894) 2022-12-29 12:30:18 -06:00
nitrocode
70497968b4 atlantis-base: use 2022.12.29 (#2892) 2022-12-29 12:30:08 -06:00
renovate[bot]
e0f92e7e94 fix(deps): update github.com/shurcool/githubv4 digest to a8d4a56 (#2893)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-29 10:12:01 -06:00
Teko
a55bd2cc12 chore(deps): atlantis-base: Update gosu and git-lfs (#2889)
* docker: bump debian baseimage version

* docker: update gosu from 1.14 to 1.16

* docker: update git-lfs from 3.1.2 to 3.3.0

* docker: update curl from 7.86.0-r1 to 7.87.0-r0

* docker: update bash from 5.2.12-r0 to 5.2.15-r0

* docker: remove enclosing folder at git-lfs extraction

* docker: update ca-certificates from 20220614-r2 to 20220614-r3
2022-12-29 09:38:02 -06:00