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

Update GitHub Action workflow for CI #2647

Merged
merged 1 commit into from
Jan 3, 2023
Merged

Conversation

theseanything
Copy link
Contributor

@theseanything theseanything commented Dec 29, 2022

This updates initial workflow to enable CI using GitHub Actions. It makes use of
reusable workflows and composite actions defined in govuk-infrastructure. The
CI workflow is initially only used to support deployments to the new EKS
infrastructure and not to immediately replace the CI workflow in Jenkins.

The CI workflow makes use of individual jobs to run each testing and linting
tool. This allows the processes to run concurrently and improves the visibility
of status in the GitHub UI.

Most jobs make use of reusable workflows as they are consistent across the
majority of our repositories - this allows us to easily maintain them in a
single place. However, the test-ruby job (and/or integration-tests) is defined
per repo as backing services and other dependencies vary greatly between repos.
Backing services (such as databases) are created using a composite action
instead of a job service. This is because they contain a lot of shared config
and makes it easier for us to maintain.

@govuk-ci govuk-ci temporarily deployed to government-frontend-pr-2647 December 29, 2022 17:51 Inactive
@theseanything theseanything changed the title Add GitHub Action workflow for CI Update GitHub Action workflow for CI Dec 30, 2022
@theseanything theseanything marked this pull request as ready for review December 30, 2022 09:39
This updates the initial workflow to enable CI using GitHub Actions. It makes use of
reusable workflows and composite actions defined in govuk-infrastructure. The
CI workflow is initially only used to support deployments to the new EKS
infrastructure and not to immediately replace the CI workflow in Jenkins.

The CI workflow makes use of individual jobs to run each testing and linting
tool. This allows the processes to run concurrently and improves the visibility
of status in the GitHub UI.

Most jobs make use of reusable workflows as they are consistent across the
majority of our repositories - this allows us to easily maintain them in a
single place. However, the test-ruby job (and/or integration-tests) is defined
per repo as backing services and other dependencies vary greatly between repos.
Backing services (such as databases) are created using a composite action
instead of a job service. This is because they contain a lot of shared config
and makes it easier for us to maintain.
@theseanything theseanything force-pushed the bulk/add-github-actions-ci branch from 9423008 to 529bb6f Compare January 3, 2023 15:40
@govuk-ci govuk-ci temporarily deployed to government-frontend-pr-2647 January 3, 2023 15:40 Inactive
@theseanything theseanything merged commit 5fc30a5 into main Jan 3, 2023
@theseanything theseanything deleted the bulk/add-github-actions-ci branch January 3, 2023 16:29
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.

3 participants