Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev to Main #726

Merged
merged 14 commits into from
Apr 19, 2024
Merged

Dev to Main #726

merged 14 commits into from
Apr 19, 2024

Conversation

colearendt
Copy link
Contributor

No description provided.

ianpittwood and others added 10 commits April 16, 2024 13:13
* Initial commit of docker buildx bake experiment

* Separate builds for azure/google specialized images

* Specify targets in bake

* Implement test stages on base

* Implement stage tests for base

* Implement stage tests for ppm

* Implement stage tests for connect (borked)

* Update connect just test to work with test stage

* Implement test stage on r-session-complete

* Fix/exclude goss tests for buildx bake

* Implement separate test for Connect

* Remove compose testing and image local justfiles

* Increase timeout for checking Jupyter

* Convert content builds to use bake

* Target content docker-bake file

* Print metadata after build

* Enable GHA caching

* Default to image output

* Remove debug line

* Suppress DL3006

* Extend timeouts for GCW

* Add timeout to r-session-complete jupyter

* Cleanup justfiles

* Update tagging for bake release builds

* Implement bake preview builds

* Update if clause for pushing preview images

* Install requests package

* Provision buildx in preview

* Set file on preview builds

* Fix target names

* Fix CentOS 7 image bad ref

* Calculate RSW download URL in bake

* Wait for launcher startup in Workbench tests

* Add wait time in Workbench test runner to ensure services are up

* Do not cache or output tests

Use a standard runner for content images

* Do not cache or output tests for preview

Provide a buildx config for GHA

Unify test sleep behavior of Workbench images

* Show running processes (debugging)

* Remove test targets

* Remove test layers from Dockerfiles

* Change test running to be orchestrated by a Python script

* Order tags narrowest to broadest

* Update workflow patterns

* Update preview builds for new test script

* Output failed targets

* Rename jobs and add authentication for registries

* Merge build.justfile into Justfile

* README updates

* Update README.md for bake changes

Change `build` targets to aliases

Add a `run` target that leverages docker compose

Remove duplicated targets from bake definitions

* Merge content bake definition into main bake definition

* Change CI build target name

* Unify functions between bake files

* Test separating image lines

* Add missing checkout command

* Abandon reusing buildx builder instance

* Remove bad env.target refs

* Declare bash as shell

* Implement reuse of base images across jobs

* Remove builder references

* Switch print for logging

* Swap runners based on image load

* Add shim for mounting DinD and deps for WGCW

Add entrypoint setting to tests

* Use `--init` flag on tests

* Remove unused base targets

Fix tests on WAML and improve logging

* Turn down compression level

* Update upload artifacts action

* Update preview workflow to match release workflow

Clean up dockerfiles

* Add missing just install

* Update setup-just

* Adapt action to work with Previews

* Move to fully parallel builds

* Use bake-test-push action for previews

* Improve test filtering

* Remove preview base dependency

* Second test filtering fix

* Alias build to bake

* Fix run command

* Update README with test instructions

---------

Co-authored-by: Chris Ostrouchov <[email protected]>
This is important for the installation of the r-lib/archive package, which
is used by shinylive, for instance.
We discussed this offline. Workbench apparently has a race condition where it
starts up and provisions files. If it shuts down before complete, you
can end up with failing tests and a weird `launcher.pem` file with no data
and the wrong file permissions. Hopefully this "fix" will not be long lived.
As discussed in #720, these errors are resolved by setting the TZ
variable. Setting that variable in the images should ensure that
these errors are not seen across a wide array of environments.
add TZ env var to prevent system-looking errors
@colearendt colearendt requested review from jonyoder and glin and removed request for a team April 18, 2024 14:55
Copy link
Collaborator

@ianpittwood ianpittwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@colearendt before we do this can we finish off these?

Once those two are reviewed and merged, I think we're good to merge up.

* Fix/exclude goss tests for buildx bake

* Implement separate test for Connect

* Implement bake preview builds

* Provision buildx in preview

* Do not cache or output tests for preview

Provide a buildx config for GHA

Unify test sleep behavior of Workbench images

* Remove test targets

* Remove test layers from Dockerfiles

* Change test running to be orchestrated by a Python script

* Update preview builds for new test script

* Create common use scripts in base image for Ubuntu 22.04 images

* Create common use scripts in base image for CentOS 7 images

* Move deps to subdirectory

Fix hadolint issues

* Ignore hadolint issue

* Update permissions hex for tests

* Remove build.justfile

* Remove unnecessary buildx setup from build-bake-preview.yaml

* Move libarchive-dev to ubuntu2204_packages.txt
* Fix/exclude goss tests for buildx bake

* Implement separate test for Connect

* Implement bake preview builds

* Provision buildx in preview

* Do not cache or output tests for preview

Provide a buildx config for GHA

Unify test sleep behavior of Workbench images

* Remove test targets

* Remove test layers from Dockerfiles

* Change test running to be orchestrated by a Python script

* Update preview builds for new test script

* Create common use scripts in base image for Ubuntu 22.04 images

* Create common use scripts in base image for CentOS 7 images

* Move deps to subdirectory

Fix hadolint issues

* Ignore hadolint issue

* Remove build.justfile

* Remove unnecessary buildx setup from build-bake-preview.yaml

* Move Quarto installation downstream

Upgrade Connect and WGCW to 1.4.552

Pin remaining products back to 1.3.340 or lower

* Add SCRIPTS_DIR to downstream Dockerfiles

* Leave original Quarto install for WGCW

* Fix hardcoded QUARTO_VERSION in rstudio-connect.gcfg

* Remove unnecessary Quarto tests from base-pro tests

* Symlink bundled Quarto for Workbench installations

* Fix quarto config replacement in Connect

* Remove QUARTO_VERSION arg from base in bake definition

* Add quarto check command to Connect goss tests

* Remove Quarto build arg from Workbench and r-session-complete

* Update preview Connect build matrix with Quarto version

* Remove Quarto install from CentOS 7 r-session-complete

* Remove package check for Quarto in WGCW

* Use DEFAULT_QUARTO_VERSION for Connect matrix

* Use DEFAULT_QUARTO_VERSION for Connect matrix

* Revert Quarto to 1.3.340 for Connect
@ianpittwood ianpittwood merged commit 4235ea7 into main Apr 19, 2024
67 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants