X Tutup
Skip to content

Commit 894be03

Browse files
committed
linux repo creation
1 parent 0083607 commit 894be03

File tree

5 files changed

+172
-0
lines changed

5 files changed

+172
-0
lines changed

.github/workflows/releases.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,118 @@ jobs:
6262
api() { bin/hub api -H 'accept: application/vnd.github.inertia-preview+json' "$@"; }
6363
cards=$(api projects/columns/$PENDING_COLUMN/cards | jq ".[].id")
6464
for card in $cards; do api projects/columns/cards/$card/moves --field position=top --field column_id=$DONE_COLUMN; done
65+
rpm-repos:
66+
if: "!contains(github.ref, '-')" # skip prereleases
67+
needs: goreleaser
68+
runs-on: ubuntu-latest
69+
steps:
70+
- name: Checkout
71+
uses: actions/checkout@v2
72+
- name: Get package artifacts
73+
uses: i3h/download-release-asset@v1
74+
with:
75+
owner: cli
76+
repo: cli
77+
tag: latest
78+
file: .*.rpm
79+
- name: install createrepo, rpm
80+
run: sudo apt-get install -y createrepo rpm
81+
- name: set up gpg
82+
run: |
83+
echo "Importing pubkey..."
84+
cat script/pubkey.asc | gpg --import --no-tty --batch --yes
85+
echo "Importing seckey..."
86+
echo ${{secrets.GPG_KEY}} | base64 -d | gpg --import --no-tty --batch --yes
87+
echo "Resetting gpg-agent and ingesting passphrase"
88+
echo "allow-preset-passphrase" > ~/.gnupg/gpg-agent.conf
89+
gpg-connect-agent RELOADAGENT /bye
90+
echo ${{secrets.GPG_PASSPHRASE}} | /usr/lib/gnupg2/gpg-preset-passphrase --preset 867DAD5051270B843EF54F6186FA10E3A1D22DC5
91+
- name: Sign RPMs
92+
run: |
93+
cp script/rpmmacros ~/.rpmmacros
94+
rpmsign --addsign *.rpm
95+
- name: Checkout pages site
96+
uses: actions/checkout@v2
97+
with:
98+
repository: github/cli.github.com
99+
path: site
100+
fetch-depth: 0
101+
token: ${{secrets.SITE_GITHUB_TOKEN}}
102+
- name: run createrepo
103+
run: |
104+
cp *.rpm site/packages/rpm/
105+
createrepo site/packages/rpm
106+
cd site/packages/rpm && gpg --yes --detach-sign --armor repodata/repomd.xml
107+
cd ../../../
108+
- name: publish site
109+
env:
110+
GIT_COMMITTER_NAME: cli automation
111+
GIT_AUTHOR_NAME: cli automation
112+
GIT_COMMITTER_EMAIL: noreply@github.com
113+
GIT_AUTHOR_EMAIL: noreply@github.com
114+
run: |
115+
git -C site add packages
116+
git -C site commit -m"${GITHUB_REF} rpm packages"
117+
git -C site push
118+
119+
deb-repos:
120+
if: "!contains(github.ref, '-')" # skip prereleases
121+
needs: goreleaser
122+
runs-on: ubuntu-latest
123+
steps:
124+
- name: Checkout
125+
uses: actions/checkout@v2
126+
- name: Get package artifacts
127+
uses: i3h/download-release-asset@v1
128+
with:
129+
owner: cli
130+
repo: cli
131+
tag: latest
132+
file: .*.deb
133+
- name: install reprepro
134+
run: sudo apt-get install -y reprepro
135+
- name: set up gpg
136+
run: |
137+
echo "Importing pubkey..."
138+
cat script/pubkey.asc | gpg --import --no-tty --batch --yes
139+
echo "Importing seckey..."
140+
echo ${{secrets.GPG_KEY}} | base64 -d | gpg --import --no-tty --batch --yes
141+
echo "Resetting gpg-agent and ingesting passphrase"
142+
echo "allow-preset-passphrase" > ~/.gnupg/gpg-agent.conf
143+
gpg-connect-agent RELOADAGENT /bye
144+
echo ${{secrets.GPG_PASSPHRASE}} | /usr/lib/gnupg2/gpg-preset-passphrase --preset 867DAD5051270B843EF54F6186FA10E3A1D22DC5
145+
- name: run reprepro
146+
env:
147+
RELEASES: "focal stable"
148+
run: |
149+
mkdir upload
150+
for release in $RELEASES; do
151+
for file in *.deb ; do
152+
/usr/bin/reprepro --confdir="+b/script" includedeb $release $file;
153+
done
154+
done
155+
- name: "Select repo artifacts"
156+
# Select only final repo artifacts (this makes reprepro runs stateless)
157+
run: cp -a dists/ pool/ upload/
158+
- name: Checkout pages site
159+
uses: actions/checkout@v2
160+
with:
161+
repository: github/cli.github.com
162+
path: site
163+
fetch-depth: 0
164+
token: ${{secrets.SITE_GITHUB_TOKEN}}
165+
- name: add files to site
166+
run: cp -a upload/* site/packages/
167+
- name: publish site
168+
env:
169+
GIT_COMMITTER_NAME: cli automation
170+
GIT_AUTHOR_NAME: cli automation
171+
GIT_COMMITTER_EMAIL: noreply@github.com
172+
GIT_AUTHOR_EMAIL: noreply@github.com
173+
run: |
174+
git -C site add packages
175+
git -C site commit -m"${GITHUB_REF} deb packages"
176+
git -C site push
65177
msi:
66178
needs: goreleaser
67179
runs-on: windows-latest

script/distributions

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Origin: gh
2+
Label: gh
3+
Codename: stable
4+
Architectures: i386 amd64 arm64
5+
Components: main
6+
Description: The GitHub CLI - debian stable repo
7+
SignWith: C99B11DEB97541F0
8+
9+
Origin: gh
10+
Label: gh
11+
Codename: focal
12+
Architectures: i386 amd64 arm64
13+
Components: main
14+
Description: The GitHub CLI - ubuntu focal repo
15+
SignWith: C99B11DEB97541F0
16+
DebOverride: override.focal

script/override.focal

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
gh Priority optional
2+
gh Section Development

script/pubkey.asc

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
39+
thQyULWTJXRidPWVyWWqegyubCbY0cY=
40+
=ki4q
41+
-----END PGP PUBLIC KEY BLOCK-----

script/rpmmacros

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
%_gpg_name Nate Smith <vilmibm@github.com>

0 commit comments

Comments
 (0)
X Tutup