Skip to content

Commit 28ef29c

Browse files
authored
zizmor (#219)
1 parent 8d16673 commit 28ef29c

File tree

5 files changed

+145
-118
lines changed

5 files changed

+145
-118
lines changed

.github/workflows/ci-ffi-python.yml

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,26 @@ name: Python Package
22

33
on:
44
push:
5-
branches:
5+
branches: [ main ]
66
pull_request:
77
branches: [ main ]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
linux-build:
1114
name: Linux - amd64
1215
runs-on: ubuntu-latest # TODO try using grafana runners
1316

1417
steps:
15-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
19+
with:
20+
persist-credentials: false
1621
- name: Build in Docker
1722
run: make wheel/linux/amd64
1823

19-
- uses: actions/upload-artifact@v4
24+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
2025
with:
2126
name: "linux.whl"
2227
path: pyroscope_ffi/python/dist/*
@@ -36,31 +41,34 @@ jobs:
3641
PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }}
3742
steps:
3843
- name: Set up Python
39-
uses: actions/setup-python@v5
44+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
4045
with:
4146
python-version: ${{ matrix.PYTHON_VERSION }}
4247
architecture: x64
43-
- uses: actions/download-artifact@v4
48+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # 4.3.0
4449
with:
4550
name: "linux.whl"
4651
path: "${{github.workspace}}/python"
4752

4853
- run: "cd ${{ github.workspace }}/python && ls -l"
4954
- run: "cd ${{ github.workspace }}/python && pip install *.whl"
50-
- uses: actions/checkout@v4
55+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
56+
with:
57+
persist-credentials: false
5158
- run: docker run -d -p4040:4040 grafana/pyroscope
5259
- run: python pyroscope_ffi/python/scripts/tests/test.py
5360

5461
linux-arm-build:
5562
name: Linux - arm64
5663
runs-on: github-hosted-ubuntu-arm64
5764
steps:
58-
- uses: AutoModality/action-clean@v1
59-
- uses: actions/checkout@v4
65+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
66+
with:
67+
persist-credentials: false
6068
- name: Build in Docker
6169
run: make wheel/linux/arm64
6270

63-
- uses: actions/upload-artifact@v4
71+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
6472
with:
6573
name: "linux-arm.whl"
6674
path: pyroscope_ffi/python/dist/*
@@ -70,8 +78,10 @@ jobs:
7078
runs-on: ubuntu-latest
7179

7280
steps:
73-
- uses: actions/checkout@v4
74-
- uses: actions/setup-python@v5
81+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
82+
with:
83+
persist-credentials: false
84+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
7585
with:
7686
python-version: 3.9
7787
- name: Upgrade pip
@@ -81,7 +91,7 @@ jobs:
8191
run: python setup.py sdist
8292
working-directory: pyroscope_ffi/python
8393

84-
- uses: actions/upload-artifact@v4
94+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
8595
with:
8696
name: "sdist.whl"
8797
path: pyroscope_ffi/python/dist/*
@@ -102,18 +112,20 @@ jobs:
102112
runs-on: macos-${{ matrix.macos-version }}
103113

104114
steps:
105-
- uses: actions/checkout@v4
106-
- uses: dtolnay/rust-toolchain@v1
115+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
116+
with:
117+
persist-credentials: false
118+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
107119
with:
108120
toolchain: 1.85.0
109121
targets: ${{ matrix.target }}
110122

111-
- uses: actions/setup-python@v5
123+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
112124
with:
113125
python-version: 3.11
114126

115127
- run: make wheel/mac/${{ matrix.mk-arch }}
116-
- uses: actions/upload-artifact@v4
128+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
117129
with:
118130
name: ${{ github.sha }}-python-${{ matrix.target }}
119131
path: pyroscope_ffi/python/dist/*

.github/workflows/ci-ffi-ruby.yml

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,20 @@ on:
66
pull_request:
77
branches: [main]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
linux-build:
1114
name: Build linux gem amd64
1215
runs-on: ubuntu-latest
1316

1417
steps:
15-
- uses: AutoModality/action-clean@v1
16-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
19+
with:
20+
persist-credentials: false
1721
- run: make gem/linux/amd64
18-
- uses: actions/upload-artifact@v4
22+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
1923
with:
2024
name: "linux.gem"
2125
path: pyroscope_ffi/ruby/pkg/*.gem
@@ -38,16 +42,18 @@ jobs:
3842
RUST_TARGET: ${{ matrix.target }}
3943

4044
steps:
41-
- uses: actions/checkout@v4
42-
- uses: ruby/setup-ruby@v1
45+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
46+
with:
47+
persist-credentials: false
48+
- uses: ruby/setup-ruby@dffc446db9ba5a0c4446edb5bca1c5c473a806c5 # v1.235.0
4349
with:
4450
ruby-version: '3.1'
45-
- uses: dtolnay/rust-toolchain@v1
51+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
4652
with:
4753
toolchain: 1.85.0
4854
targets: ${{ matrix.target }}
4955
- run: make gem/mac/${{ matrix.mk-arch }}
50-
- uses: actions/upload-artifact@v4
56+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5157
with:
5258
name: ${{ github.sha }}-ruby-${{ matrix.target }}
5359
path: pyroscope_ffi/ruby/pkg/*.gem
@@ -63,16 +69,18 @@ jobs:
6369
name: Linux Test
6470
runs-on: ubuntu-latest
6571
steps:
66-
- uses: ruby/setup-ruby@v1
72+
- uses: ruby/setup-ruby@dffc446db9ba5a0c4446edb5bca1c5c473a806c5 # v1.235.0
6773
with:
6874
ruby-version: ${{ matrix.RUBY_VERSION }}
69-
- uses: actions/download-artifact@v4
75+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # 4.3.0
7076
with:
7177
name: "linux.gem"
7278
path: "${{github.workspace}}/ruby"
7379
- run: "cd ${{ github.workspace }}/ruby && ls -l"
7480
- run: "cd ${{ github.workspace }}/ruby && gem install *.gem"
75-
- uses: actions/checkout@v4
81+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
82+
with:
83+
persist-credentials: false
7684
- name: Run Ruby Script
7785
run: pyroscope_ffi/ruby/scripts/tests/test.rb
7886
env:

.github/workflows/cli.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,25 @@ on:
44
pull_request:
55
branches: [ main ]
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
linux-build:
912
name: Linux build
1013
runs-on: ubuntu-latest
1114
steps:
12-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16+
with:
17+
persist-credentials: false
1318
- run: rustup toolchain install stable && rustup default stable
1419
- run: cargo build -p pyroscope-cli
1520

1621
linux-build-docker:
1722
name: Linux build docker
1823
runs-on: ubuntu-latest
1924
steps:
20-
- uses: actions/checkout@v4
25+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
26+
with:
27+
persist-credentials: false
2128
- run: make cli/docker-image

.github/workflows/publish.yml

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ on:
55
release:
66
types: [published]
77

8+
permissions:
9+
contents: read
10+
811
jobs:
912
publish-pyroscope:
1013
name: pyroscope-lib
1114
runs-on: ubuntu-latest
1215
if: "startsWith(github.event.release.tag_name, 'lib-')"
1316
steps:
14-
- uses: actions/checkout@v4
15-
- uses: dtolnay/rust-toolchain@v1
17+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
18+
with:
19+
persist-credentials: false
20+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
1621
with:
1722
toolchain: 1.85.0
1823
- name: publish pyroscope crate
@@ -25,10 +30,10 @@ jobs:
2530
# runs-on: ubuntu-latest
2631
# if: "startsWith(github.event.release.tag_name, 'cli-')"
2732
# steps:
28-
# - uses: actions/checkout@v4
33+
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2934
# with:
3035
# submodules: recursive
31-
# - uses: dtolnay/rust-toolchain@v1
36+
# - uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
3237
# with:
3338
# toolchain: 1.82.0
3439
# - name: install libunwind (for pprof)
@@ -43,8 +48,10 @@ jobs:
4348
runs-on: ubuntu-latest
4449
if: "startsWith(github.event.release.tag_name, 'pprofrs-')"
4550
steps:
46-
- uses: actions/checkout@v4
47-
- uses: dtolnay/rust-toolchain@v1
51+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
52+
with:
53+
persist-credentials: false
54+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
4855
with:
4956
toolchain: 1.85.0
5057
- name: publish pprofrs crate
@@ -58,8 +65,10 @@ jobs:
5865
runs-on: ubuntu-latest
5966
if: "startsWith(github.event.release.tag_name, 'rbspy-')"
6067
steps:
61-
- uses: actions/checkout@v4
62-
- uses: dtolnay/rust-toolchain@v1
68+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
69+
with:
70+
persist-credentials: false
71+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
6372
with:
6473
toolchain: 1.85.0
6574
- name: publish rbspy crate
@@ -72,8 +81,10 @@ jobs:
7281
runs-on: ubuntu-latest
7382
if: "startsWith(github.event.release.tag_name, 'pyspy-')"
7483
steps:
75-
- uses: actions/checkout@v4
76-
- uses: dtolnay/rust-toolchain@v1
84+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
85+
with:
86+
persist-credentials: false
87+
- uses: dtolnay/rust-toolchain@888c2e1ea69ab0d4330cbf0af1ecc7b68f368cc1
7788
with:
7889
toolchain: 1.85.0
7990
- name: publish pyspy crate
@@ -86,7 +97,7 @@ jobs:
8697
runs-on: ubuntu-latest
8798
if: "startsWith(github.event.release.tag_name, 'python-')"
8899
steps:
89-
- uses: robinraju/release-downloader@v1
100+
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # 1.12
90101
with:
91102
tag: ${{ github.event.release.tag_name }}
92103
fileName: "*"
@@ -95,7 +106,7 @@ jobs:
95106
out-file-path: "dist"
96107
token: ${{ secrets.GITHUB_TOKEN }}
97108
- name: Publish a Python distribution to PyPI
98-
uses: pypa/[email protected]
109+
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
99110
with:
100111
user: __token__
101112
password: ${{ secrets.PYPI_API_TOKEN }}
@@ -106,7 +117,7 @@ jobs:
106117
outputs:
107118
files_json: ${{ steps.list-files.outputs.files_json }}
108119
steps:
109-
- uses: robinraju/release-downloader@v1
120+
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # 1.12
110121
with:
111122
tag: ${{ github.event.release.tag_name }}
112123
fileName: "*"
@@ -128,13 +139,13 @@ jobs:
128139
env:
129140
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
130141
strategy:
131-
matrix:
142+
matrix: # TODO get rid of list-ruby-gems step
132143
file: ${{ fromJson(needs.list-ruby-gems.outputs.files_json) }}
133144
steps:
134-
- uses: ruby/setup-ruby@v1
145+
- uses: ruby/setup-ruby@dffc446db9ba5a0c4446edb5bca1c5c473a806c5 # v1.235.0
135146
with:
136147
ruby-version: '3.1'
137-
- uses: robinraju/release-downloader@v1
148+
- uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # 1.12
138149
with:
139150
tag: ${{ github.event.release.tag_name }}
140151
fileName: "*"
@@ -144,4 +155,6 @@ jobs:
144155
token: ${{ secrets.GITHUB_TOKEN }}
145156
- run: |
146157
cd dist
147-
gem push ${{ matrix.file }}
158+
gem push ${GEM_FILE}
159+
env:
160+
GEM_FILE: ${{ matrix.file }}

0 commit comments

Comments
 (0)