Commit Graph

39 Commits

Author SHA1 Message Date
Fraser Waters 959fc6c8b4
Run integration tests with race detection ()
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->
Combining  and  and including fixes to allow tests to pass.

Enable race detection in the binary we're using for integration tests.
This will allow us to catch more data races before they get into any
release. This does mean the binary we're using for integration tests is
slightly different from the binary we're releasing, however that's
already the case as we're running a binary with coverage enabled for
them. Later we rebuild the binary we're actually releasing.

This requires us to fix the race between snapshot code, display code,
and the step executor. I've done that by adding a lock to the State
struct. This does not feel great, but it's a quick way to fix this and
get race detection running (and unblocks  which was also hitting
the race detector because it started pulling snapshot code into unit
tests as well). There's probably a more principled overhaul that doesn't
require locking at this level.

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [x] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [x] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
2024-04-11 15:58:42 +00:00
Thomas Gummerer 5834b983a0
add the v prefix in the version in pulumi about back ()
https://github.com/pulumi/pulumi/pull/14640/files#diff-42e26dc67aed8aa3edb2472b4403288c1699fb6dc47419b9a475f0f224fe4689
inadvertently got rid of the v prefix in the version in pulumi about.
Add it back. Also make sure we don't get a duplicate `v` prefix in the
dev releases.

Fixes 

## Checklist

- [ ] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
  - [ ] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
2023-12-19 09:02:55 +00:00
Thomas Gummerer 9f3e478e99
create CI job to upload dev artifacts to S3 ()
Create a CI job that uploads artifacts to S3 after every build. These
artifacts will have a version number derived from `git describe` so they
can be uniquely identified. After this PR is merged, these artifacts
will be able to be downloaded through `get.pulumi.com` by specifying the
exact version number, and in the future through a dev channel.

Fixes 

## Checklist

- [ ] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
  - [ ] I have formatted my code using `gofumpt`

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
2023-12-13 17:25:14 +00:00
Fraser Waters a1b52d6613
Make language-python it's own module ()
Fixes https://github.com/pulumi/pulumi/issues/13826.
    
This brings python inline with node and go as being it's own module and
running codegen via gRPC.

Also includes some improvements to the node and go codegen interfaces
from review.
2023-08-31 16:35:21 +00:00
Fraser Waters 7e485f5d3d Plumb codegen rpc into nodejs 2023-05-25 14:56:45 +01:00
Fraser Waters 1a38eadc69 gRPC for GenerateProject/Program/Package
This changes codegen to be invoked via gRPC from pkg, rather than
invoking pkg/codegen directly.

Consider it a proof-of-concept for moving codegen to a gRPC interface
without the worries of forwards-backwards compatability (because we ship
language plugins at a fixed version side-by-side to users).
2023-05-06 13:14:59 +01:00
Fraser Waters f4ad5c5a56 Remove dotnet 2022-12-13 16:13:53 +00:00
Aaron Friel 566be28db6 ci: Remove brews section from goreleaser 2022-09-19 16:37:25 -07:00
Aaron Friel f96e7b42cf ci: Fix next version 2022-09-13 17:23:10 -07:00
Aaron Friel 272b987791 ci: ensure trunk is always green 2022-09-13 13:38:14 -07:00
Aaron Friel d89b863d93
Fix x-plat issues with watch, use watchexec-derived binary ()
* [cli/watch] Fix x-plat issues with watch, use watchexec-derived binary

* Address PR feedback
2022-08-17 11:57:15 -07:00
Aaron Friel ef898d5691
Reduce macOS jobs on PRs, replace with partial integration tests ()
* ci: include required deps in test artifact builds

* ci: reduce retention on other build artifacts to match pulumi CLI

* ci: move lang providers acquisition to script/goreleaser

* ci: combine goreleaser configs, move OS-dependency to script

* ci: re-enable Windows and MacOS tests

* [cli] Fix Windows path handling for gzip filestate backend
2022-08-16 18:00:14 -07:00
Aaron Friel dd7733c8fa
Address regression in ()
* Revert "[ci] Name the archive to push to buckets"

This reverts commit 73f23fbc39.

* Revert "[ci] Fix extra extension in goreleaser templates"

This reverts commit 03888a33fa.

* Revert 

This reverts commit f6ee2fd20c.
This reverts commit 33a84df3cf.
This reverts commit 01c1719c1c.
This reverts commit e7b96115be.
This reverts commit 60fb289408.
This reverts commit 7a81b1435f.
This reverts commit b1f2e41b56.

* chore: changelog for 3.37.1
2022-07-27 13:05:49 -07:00
Aaron Friel 73f23fbc39 [ci] Name the archive to push to buckets 2022-07-21 10:29:16 -07:00
Aaron Friel 03888a33fa [ci] Fix extra extension in goreleaser templates 2022-07-20 01:11:19 -07:00
Aaron Friel 27438688fa ci: combine goreleaser configs, move OS-dependency to script 2022-07-19 15:46:15 -07:00
Aaron Friel 03ec4310bd ci: move lang providers acquisition to script/goreleaser 2022-07-19 15:46:15 -07:00
Anton Tayanovskyy 7deb18ea71
Fix goreleaser configs ()
* Fix paths

* Fix paths in main config
2022-06-01 12:17:35 -04:00
Anton Tayanovskyy 472c6ce46e
Use goreleaser prebuilt ()
* Start simplifying build.yml

* Use updated code

* Split goreleaser build files by OS

* Fixup PR goreleaser-flags

* Try to fix test.yml downloading of binaries

* Copy test.yml changes to test-fast.yml

* Goreleaser file format

* Use prebuilt builder in .goreleaser*.yml

* Do not tidy in prep-for-goreleaser.sh

* Fix build.yml args

* Update publish-binaries and how it is called

* Use local test-fast.yml in master.yml

* Set GORELEASER_KEY

* Drop PREBUILT support from go-wrapper

* Restore executable bit on downloaded artifacts

* Cache restore-key and comment fix

* Reset cache key to get smaller caches

* Workaround: manually install pulumi-language-python-exec script

* Unify build files

* Fix env syntax

* Fix test.yml GHA-isms

* Fix bad merge
2022-06-01 09:00:43 -04:00
Aaron Friel 4bebb8dc70 ci: include additional language providers in packages 2022-05-04 10:00:53 +02:00
Anton Tayanovskyy eb975813f4
Do not rebuild Go binaries in release.yml, use testsed builds ()
* Do not rebuild Go binaries in release.yml, use testsed builds

* Ensure checksum mismatch blocks partial releases (side-effects)

* Install goreleaser-filter in the right job
2022-01-31 16:01:03 -05:00
Anton Tayanovskyy 888cbeca3e
Deterministic builds for goreleaser ()
* Preserve commit mtime in released files as it affects zip checksum

* Set mod_timestamp per Reproducible Builds goreleaser doc

* Portable touch -t across mac/linux
2022-01-05 11:31:35 -05:00
Paul Stack 3cdfbf2a71
Ensure releases are announced to GitHub discussions () 2021-06-26 00:07:00 +01:00
stack72 d6f11cf650 Temporarily remove release post to GitHub Discussions 2021-06-17 02:34:37 +01:00
stack72 43f3705e64 Update GitHub Discussion Name to be Announcements 2021-06-17 00:40:09 +01:00
Paul Stack cadbade4ba
Ensure we announce the release to GitHub Discussions () 2021-06-15 22:03:29 +03:00
Paul Stack 8a4b0f7cb6
Fixup the installation of all Pulumi files for the homebrew package () 2021-05-27 11:45:45 +01:00
Paul Stack 0bfab87c21
Fix 2 small release issues with regards to uploading binaries to S3 ()
The Windows binary didn't upload to S3 during the release. We had to
ask our ops team to do this - this fixes that issue
2021-05-21 12:08:37 +01:00
Paul Stack f378e68367
Adding Pulumi CLI to our homebrew-tap () 2021-05-13 11:04:05 +01:00
Paul Stack f68b583831
Using goreleaser as the publishing mechanism for Windows binaries () 2021-05-10 11:11:08 +01:00
pulumi-bot 73a66f48ea [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
Paul Stack dc7eb5e2d2
[cli] Add ability to consume arm64 plugins from pulumi cli ()
Related: 

Also adds the arm64 build and deployment steps via goreleaser
2021-03-10 16:28:55 +00:00
Paul Stack aab9cb5e42
Changing the process for CHANGELOG entries ()
As part of our continued effort to make our releases more useful,
we will be adding our CHANGELOG entries to the GitHub Release.

To make this process smooth, we are going to change things a little:

1. All new changelog entries when submitting a PR for an upcoming
release will now need to get added to CHANGELOG_PENDING.md
This is the source of information for what will be delivered in the
release.

2. When a release is being made, the entries from CHANGELOG_PENDING
will be copied to a new version and dated section in CHANGLOG to
mark the release

3. The GH tags will continue as normal and Goreleaser will copy
the changelog entries to the release section in GH
2021-02-23 19:59:59 +00:00
stack72 82967d3272 removing arm64 build from binaries whilst waiting on upgrade to go1.16 2021-02-17 20:42:48 +00:00
Paul Stack 65af508a5a
Removing arm64 as this repository is not using go1.16 and will fail () 2021-02-17 19:47:26 +00:00
Lee Briggs 49849fc91b
try an arm64 build () 2021-01-19 20:06:43 +00:00
Lee Briggs 7093565e2c
jaxxstorm/build fixes ()
* fix pulumi bot token and env var

* use commit hash non-marketplace actions

* fix goreleaser binaries

foo

* fix goreleaser archive format

* update workflows to use repo-dispatch

* fixing tag naming

* add support for beta tags

* add prerelease workflow

* remove windows builds

* only use travis for tags

* remove prerelease steps

* fix container build indentation

* check the policy tempdir exists
2020-10-08 12:43:38 -07:00
Lee Briggs 9944ec13f3
prep for release () 2020-09-30 18:09:49 +01:00
Lee Briggs 95bc138b41
add master branch workflow () 2020-09-21 16:20:05 -07:00