Commit Graph

2436 Commits

Author SHA1 Message Date
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
Ken Kaizu
f09a9d4c01 feat: --allow-commands restricts available atlantis commands (#2877)
* feat: --allow-command configuration restricts available atlantis commands

* add version and approve_policies into allow commands defaults

* allow-commands accept all keyword which allows all commands

* remove redundant nest

* more detail abount allow-commands all keyword

* Update server/events/comment_parser.go
2022-12-27 22:52:39 -06:00
Ken Kaizu
27b9897517 chore(build): rm pegomock experimental feature for smooth mock generation (#2886)
* disable pegomock --use-experimental-model-gen, cause random fail by segv

* make regen-mocks

* fix mock code which uses non experimental pegomock codes
2022-12-27 19:58:15 -06:00
Marcus Ramberg
de953fe255 fix(command_parser): Update command parser help text (#2878)
Change it to use the new customizable executable command
v0.22.0-pre.20221226
2022-12-25 08:37:17 -06:00
nitrocode
bf570af5e5 Add bump homebrew formula gha (#2872) 2022-12-23 22:15:48 -06:00
Mattias Ängehov
35cb9b87b4 feat: Allow top-level repo level configs without projects defined (#2853)
* Allow top repo cfg keys to bet set w/o projects

This will enable top-level keys to be set in `atlantis.yaml` even when
using autoplanning strategy.

* Add tests for setting top-level keys w/o projects

Signed-off-by: Mattias Ängehov <mattias.angehov@castoredc.com>

Signed-off-by: Mattias Ängehov <mattias.angehov@castoredc.com>
Co-authored-by: PePe Amengual <jose.amengual@gmail.com>
2022-12-23 15:15:30 -06:00
nitrocode
9345d55127 Upgrade negroni to v3 (#2867) 2022-12-23 11:58:10 -06:00
Ken Kaizu
692ceae171 upgrade go-playground/validator from v9 to v10 (#2863)
Co-authored-by: nitrocode <7775707+nitrocode@users.noreply.github.com>
2022-12-23 11:26:07 -06:00
Ken Kaizu
eca3b536aa upgrade github.com/hashicorp/go-getter to v2 (#2865) 2022-12-23 08:25:25 -06:00
Ken Kaizu
a8fbd5cf33 fix: renovate upgrade cimg/node with LTS version (#2864) 2022-12-23 08:18:47 -06:00
Ken Kaizu
b3d0847ac7 remove urfave/cli. this is introduced for cli.NewApp, but currently atlantis use cobra, so no meanings (#2866)
- 5f47524655/main.go (L51)
- 5f47524655
2022-12-23 08:17:08 -06:00
renovate[bot]
bb6642c913 chore(deps): update actions/stale action to v7 (#2855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-12-22 20:32:28 -06:00