15
15
steps :
16
16
- name : Noop
17
17
run : " true"
18
+
18
19
build :
19
20
name : Perform CI Checks
20
21
needs : org-check
@@ -23,65 +24,79 @@ jobs:
23
24
matrix :
24
25
python-version : [3.8]
25
26
steps :
26
- - uses : actions/checkout@v4
27
- - uses : actions/setup-python@v5
28
- with :
29
- python-version : ${{ matrix.python-version }}
30
- - uses : crazy-max/ghaction-setup-docker@v3
31
- with :
32
- daemon-config : |
27
+ - uses : actions/checkout@v4
28
+
29
+ - uses : actions/setup-python@v5
30
+ with :
31
+ python-version : ${{ matrix.python-version }}
32
+
33
+ - uses : crazy-max/ghaction-setup-docker@v3
34
+ with :
35
+ daemon-config : |
33
36
{
34
37
"features": {
35
38
"containerd-snapshotter": true
36
39
}
37
- }
38
- - uses : docker/setup-buildx-action@v3
39
- with :
40
- install : true
41
- driver : docker
42
- # Required for multi-platform builds
43
- - name : Setup QEMU
44
- uses : docker/setup-qemu-action@v3
45
- with :
46
- platforms : linux/amd64,linux/arm64
47
- # Exposes Github env vars needed for docker caching - see https://github.com/orgs/community/discussions/42856
48
- - name : Expose GitHub Runtime
49
- uses : crazy-max/ghaction-github-runtime@v3
50
- - uses : pantsbuild/actions/init-pants@v5-scie-pants
51
- # This action bootstraps pants and manages 2-3 GHA caches.
52
- # See: github.com/pantsbuild/actions/tree/main/init-pants/
53
- with :
54
- # v0 makes it easy to bust the cache if needed
55
- # just increase the integer to start with a fresh cache
56
- gha-cache-key : v0
57
- # This repo has no 3rd-party requirements and no lockfiles, so we don't invalidate
58
- # the named caches on anything extra. See other example repos for better examples of
59
- # how to set up this cache.
60
- named-caches-hash : " "
61
- # If you're not using a fine-grained remote caching service (see https://www.pantsbuild.org/docs/remote-caching),
62
- # then you may also want to preserve the local Pants cache (lmdb_store). However this must invalidate for
63
- # changes to any file that can affect the build, so may not be practical in larger repos.
64
- # A remote cache service integrates with Pants's fine-grained invalidation and avoids these problems.
65
- cache-lmdb-store : ' true' # defaults to 'false'
66
- # Note that named_caches and lmdb_store falls back to partial restore keys which
67
- # may give a useful partial result that will save time over completely clean state,
68
- # but will cause the cache entry to grow without bound over time.
69
- # See https://www.pantsbuild.org/2.21/docs/using-pants/using-pants-in-ci for tips on how to periodically clean it up.
70
- # Alternatively you change gha-cache-key to ignore old caches.
71
- - name : Bootstrap Pants
72
- run : pants --version
73
- - name : Check Pants config files
74
- run : pants tailor --check update-build-files --check '::'
75
- - name : Lint, compile, and test
76
- run : pants lint check test '::'
77
- - name : Package / Run
78
- env :
79
- DYNAMIC_TAG : workflow
80
- run : |
81
- pants --docker-build-verbose package ::
82
- - name : Upload Pants log
83
- uses : actions/upload-artifact@v4
84
- with :
85
- name : pants-log
86
- path : .pants.d/pants.log
87
- if : always() # We want the log even on failures.
40
+ }
41
+
42
+ - uses : docker/setup-buildx-action@v3
43
+ with :
44
+ install : true
45
+ driver : docker
46
+
47
+ # Required for multi-platform builds
48
+ - name : Setup QEMU
49
+ uses : docker/setup-qemu-action@v3
50
+ with :
51
+ platforms : linux/amd64,linux/arm64
52
+
53
+ - name : Set up environment variables for Pants (Docker) to use GHA Cache
54
+ uses : actions/github-script@v7
55
+ with :
56
+ script : |
57
+ core.exportVariable("ACTIONS_CACHE_URL", process.env.ACTIONS_CACHE_URL || "");
58
+ core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env.ACTIONS_RUNTIME_TOKEN || "");
59
+
60
+ - uses : pantsbuild/actions/init-pants@v9
61
+ # This action bootstraps pants and manages 2-3 GHA caches.
62
+ # See: github.com/pantsbuild/actions/tree/main/init-pants/
63
+ with :
64
+ # v0 makes it easy to bust the cache if needed
65
+ # just increase the integer to start with a fresh cache
66
+ gha-cache-key : v0
67
+ # This repo has no 3rd-party requirements and no lockfiles, so we don't invalidate
68
+ # the named caches on anything extra. See other example repos for better examples of
69
+ # how to set up this cache.
70
+ named-caches-hash : " "
71
+ # If you're not using a fine-grained remote caching service (see https://www.pantsbuild.org/docs/remote-caching),
72
+ # then you may also want to preserve the local Pants cache (lmdb_store). However this must invalidate for
73
+ # changes to any file that can affect the build, so may not be practical in larger repos.
74
+ # A remote cache service integrates with Pants's fine-grained invalidation and avoids these problems.
75
+ cache-lmdb-store : " true" # defaults to 'false'
76
+ # Note that named_caches and lmdb_store falls back to partial restore keys which
77
+ # may give a useful partial result that will save time over completely clean state,
78
+ # but will cause the cache entry to grow without bound over time.
79
+ # See https://www.pantsbuild.org/2.21/docs/using-pants/using-pants-in-ci for tips on how to periodically clean it up.
80
+ # Alternatively you change gha-cache-key to ignore old caches.
81
+
82
+ - name : Bootstrap Pants
83
+ run : pants --version
84
+
85
+ - name : Check Pants config files
86
+ run : pants tailor --check update-build-files --check '::'
87
+
88
+ - name : Lint, compile, and test
89
+ run : pants lint check test '::'
90
+
91
+ - name : Package / Run
92
+ env :
93
+ DYNAMIC_TAG : workflow
94
+ run : |
95
+ pants --docker-build-verbose package ::
96
+
97
+ - name : Upload Pants log
98
+ uses : actions/upload-artifact@v4
99
+ with :
100
+ name : pants-log
101
+ path : .pants.d/pants.log
102
+ if : always() # We want the log even on failures.
0 commit comments