Brendon Smith
f81cd95ad9
Tag Docker images with Git SHA
...
PR https://github.com/pypa/gh-action-pypi-publish/pull/230 updated the
action to pull Docker images from GHCR instead of building Docker images
each time the workflow runs. As part of this PR, a new GitHub Actions
workflow was added that builds Docker images and pushes them to GitHub
Container Registry (GHCR).
Actions can be referenced in various ways. The Docker build workflow
covers most of the action references, but does not push Docker images
tagged with the Git commit ID (Git SHA).
This commit will add Docker tags for referencing the action with a Git
SHA. GitHub Actions only supports references by the full 40 character
SHA. If users try to reference the action by a short SHA like `1234567`,
they will get an error like, "Unable to resolve action
`pypa/gh-action-pypi-publish@1234567`, the provided ref `1234567` is the
shortened version of a commit SHA, which is not supported. Please use
the full commit SHA `1234567890123456789012345678901234567890` instead."
https://github.com/pypa/gh-action-pypi-publish/pull/230
https://github.com/pypa/gh-action-pypi-publish/issues/290
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/using-pre-written-building-blocks-in-your-workflow#using-shas
2024-11-11 18:58:36 -05:00
Brendon Smith
36965cb24a
Run smoke tests before Docker builds
...
https://github.com/pypa/gh-action-pypi-publish/pull/230#discussion_r1787027821
2024-11-04 16:35:15 -05:00
Brendon Smith
da554410b0
Move smoke test to reusable workflow
2024-11-04 16:35:14 -05:00
Brendon Smith
80b1d50e0d
Make `workflow_dispatch` Docker tag input required
...
https://github.com/pypa/gh-action-pypi-publish/pull/230#discussion_r1759496153
2024-11-04 16:35:14 -05:00
Brendon Smith
cfb9d93a26
Add Docker tags for major and minor versions
2024-11-04 16:35:14 -05:00
Brendon Smith
153ccde9bc
Verify fail-fast in unsupported environments
2024-11-04 16:35:14 -05:00
Brendon Smith
5ded5310e7
Add `workflow_dispatch` trigger for Docker builds
2024-11-04 16:35:13 -05:00
Brendon Smith
cf5ce177da
Use YAML block strip syntax (`>-`) where possible
2024-11-04 16:35:13 -05:00
Brendon Smith
0d8d5059c8
Separate `docker login` and `docker push`
...
https://github.com/pypa/gh-action-pypi-publish/pull/230#discussion_r1578694138
2024-11-04 16:35:13 -05:00
Brendon Smith
e453f8c630
Fix pre-commit errors
2024-11-04 16:35:13 -05:00
Brendon Smith
783267be69
Build Docker image and push to GHCR
...
Up to this point, the project has been set up as a Docker action
referencing the Dockerfile. The downside to using the Dockerfile for the
action is that the Docker image must be built every time the action is
used.
This commit will set up the project to build the Docker image and push
it to GitHub Container Registry (GHCR). This change will speed up user
workflows every time the action is used because the workflows will
simply pull the Docker image from GHCR instead of building again.
Changes:
- Add required metadata to Dockerfile
- Build container image with GitHub Actions
- Push container image to GHCR
Docker actions support pulling in pre-built Docker images. The downside
is that there's no way to specify the correct Docker tag because the
GitHub Actions `image` and `uses:` keys don't accept any context.
For example, if a user's workflow has
`uses: pypa/gh-action-pypi-publish@release/v1.8`, then the action should
pull in a Docker image built from the `release/v1.8` branch, something
like `ghcr.io/pypa/gh-action-pypi-publish:release-v1.8` (Docker tags
can't have `/`). The workaround is to switch the top-level `action.yml`
to a composite action that then calls the Docker action, substituting
the correct image name and tag.
2024-11-04 16:35:13 -05:00
mosfet80
6edc294485
Fix node.js v16 deprecation self-smoke-test-action.yml
...
actions/checkout@v3 use node.js versio 16. But version 16 is deprecated.
version 4 fixes the problem.
2024-09-29 09:04:41 +02:00
Sviatoslav Sydorenko
f131721e84
🎨 Convert action inputs to use kebab-case
...
Up until now, the action input names followed the snake_case naming
pattern that is well familiar to the pythonistas. But in GitHub
actions, the de-facto standard is using kebab-case, which is what
this patch achieves.
This style helps make the keys in YAML better standardized and
distinguishable from other identifiers.
The old snake_case names remain functional for the time being and will
not be removed until at least v3 release of this action.
2023-03-11 01:24:52 +01:00
Sviatoslav Sydorenko
644926c972
🧪 Always run smoke testing in debug mode
2022-12-07 02:34:31 +01:00
Sviatoslav Sydorenko
57e7d53102
🐛 Ensure the default `$PATH` value is pre-loaded
...
This patch imports the system-global profile script to
populate the `$PATH` variable with the typically available binary
paths.
Ref:
https://github.com/pypa/gh-action-pypi-publish/issues/112#issuecomment-1340065840
2022-12-06 23:58:05 +01:00
Sviatoslav Sydorenko
102d8ab13f
🐛 Rehardcode devpi port for GHA srv container
2022-12-06 23:18:25 +01:00
Sviatoslav Sydorenko
3a9eaef3ef
🐛 Use different ports in/out of GHA containers
2022-12-06 23:13:58 +01:00
Sviatoslav Sydorenko
a01fa7442e
🐛 Use `localhost` @ GHA outside the containers
2022-12-06 23:04:43 +01:00
Sviatoslav Sydorenko
ee892fd7f2
🐛 Move Twine repository URL definitions to steps
2022-12-06 23:01:39 +01:00
Sviatoslav Sydorenko
967acbb201
🎨 Reuse existing requirement pins @ smoke-test
2022-12-06 22:30:01 +01:00
Sviatoslav Sydorenko
5755482491
Stop upgrading pip @ GHA unnecessarily
2022-12-06 22:27:07 +01:00
Sviatoslav Sydorenko
dfc70e7dc8
Make the stub package dir creation verbose @ GHA
2022-12-06 22:26:35 +01:00
Sviatoslav Sydorenko
1c4183fd91
🎨 Make the GHA steps named
2022-12-06 22:26:08 +01:00
Sviatoslav Sydorenko
efa83bf521
Pin `setuptools` for pkg stub to v65.6.3
...
This patch is meant to improve the reproducibility of smoke-testing.
2022-12-06 22:20:59 +01:00
Sviatoslav Sydorenko
3f27ae2c90
Drop unnecessary `wheel` declaration from stub pkg
2022-12-06 22:18:59 +01:00
Sviatoslav Sydorenko
ee83abeb35
🎨 Put devpi creds into reusable vars @ GHA
2022-12-06 22:17:42 +01:00
Sviatoslav Sydorenko
08af49986e
🎭 Enable output ANSI-colorization in CI
2022-12-06 22:08:08 +01:00
Sviatoslav Sydorenko
713d81cca0
Update the test job ID to `smoke-test`
2022-12-06 22:06:28 +01:00
Sviatoslav Sydorenko
3a5c774287
Update the workflow name to 🧪
2022-12-06 22:06:05 +01:00
Sviatoslav Sydorenko
819df810af
Rename the GHA workflow to self-smoke-test-action
2022-12-06 22:02:49 +01:00
Sviatoslav Sydorenko
b3f93a1ad6
Expect the GHA workflow to complete in 2 minutes
2022-12-06 00:16:34 +01:00
Sviatoslav Sydorenko
cde4774fb1
Adjust the GHA workflow per yamllint rules
2022-12-06 00:11:43 +01:00
Sviatoslav Sydorenko
7ef975b955
Run CI smoke-tests in PRs
2022-12-05 23:33:07 +01:00
S2
9022aae148
Add test upload workflow
2022-12-06 09:01:24 +11:00