Skip to content

Commit 9e94ddd

Browse files
authored
Merge pull request #218 from DefGuard/release_1.6_merger
Merge release/1.6 -> main
2 parents 1b1e9e2 + 55241a7 commit 9e94ddd

File tree

18 files changed

+1723
-1452
lines changed

18 files changed

+1723
-1452
lines changed

.github/workflows/release.yml

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: Make a new release
2-
32
on:
43
push:
54
tags:
@@ -179,25 +178,19 @@ jobs:
179178
asset_name: defguard-proxy-${{ env.VERSION }}-${{ matrix.target }}.deb
180179
asset_content_type: application/octet-stream
181180

182-
- name: Run `packer init`
183-
if: matrix.build == 'linux' && matrix.arch == 'amd64'
184-
id: init
185-
run: "packer init ./images/ami/proxy.pkr.hcl"
181+
- name: Install ruby with deb-s3
182+
if: matrix.build == 'linux'
183+
run: |
184+
sudo apt-get install -y ruby
185+
gem install deb-s3
186+
echo "$(ruby -r rubygems -e 'puts Gem.user_dir')/bin" >> $GITHUB_PATH
186187
187-
- name: Build AMI images for multiple regions
188-
if: matrix.build == 'linux' && matrix.arch == 'amd64'
188+
- name: Upload DEB to apt repository
189+
if: matrix.build == 'linux'
189190
run: |
190-
regions=(us-east-1 eu-west-1 ap-northeast-1 eu-central-1)
191-
for region in "${regions[@]}"; do
192-
echo "Building AMI for region: $region"
193-
echo "Running packer validate for $region..."
194-
packer validate --var "package_version=${{ env.VERSION }}" --var "region=$region" ./images/ami/proxy.pkr.hcl
195-
echo "Building AMI image for $region..."
196-
packer build -color=false -on-error=abort --var "package_version=${{ env.VERSION }}" --var "region=$region" ./images/ami/proxy.pkr.hcl
197-
done
198-
env:
199-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
200-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
191+
COMPONENT=$([[ "${{ github.ref_name }}" == *"-"* ]] && echo "pre-release" || echo "release") # if tag contain "-" assume it's pre-release.
192+
193+
deb-s3 upload -l --bucket=apt.defguard.net --access-key-id=${{ secrets.AWS_ACCESS_KEY_APT }} --secret-access-key=${{ secrets.AWS_SECRET_KEY_APT }} --s3-region=eu-north-1 --no-fail-if-exists --codename=trixie --component="$COMPONENT" defguard-proxy-${{ env.VERSION }}-${{ matrix.target }}.deb
201194
202195
- name: Build RPM package
203196
if: matrix.build == 'linux'
@@ -216,3 +209,39 @@ jobs:
216209
asset_path: defguard-proxy-${{ env.VERSION }}-${{ matrix.target }}.rpm
217210
asset_name: defguard-proxy-${{ env.VERSION }}-${{ matrix.target }}.rpm
218211
asset_content_type: application/octet-stream
212+
213+
apt-sign:
214+
needs:
215+
- build-binaries
216+
runs-on:
217+
- self-hosted
218+
- Linux
219+
- X64
220+
strategy:
221+
fail-fast: false
222+
steps:
223+
- name: Sign APT repository on trixie
224+
run: |
225+
export AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_APT }}
226+
export AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_KEY_APT }}
227+
export AWS_REGION=eu-north-1
228+
sudo apt update -y
229+
sudo apt install -y awscli curl jq
230+
231+
for DIST in trixie; do
232+
aws s3 cp s3://apt.defguard.net/dists/${DIST}/Release .
233+
234+
curl -X POST "${{ secrets.DEFGUARD_SIGNING_URL }}?signature_type=both" \
235+
-H "Authorization: Bearer ${{ secrets.DEFGUARD_SIGNING_API_KEY }}" \
236+
-F "file=@Release" \
237+
-o response.json
238+
239+
cat response.json | jq -r '.files["Release.gpg"].content' | base64 --decode > Release.gpg
240+
cat response.json | jq -r '.files.Release.content' | base64 --decode > InRelease
241+
242+
aws s3 cp Release.gpg s3://apt.defguard.net/dists/${DIST}/ --acl public-read
243+
aws s3 cp InRelease s3://apt.defguard.net/dists/${DIST}/ --acl public-read
244+
245+
done
246+
(aws s3 ls s3://apt.defguard.net/dists/ --recursive; aws s3 ls s3://apt.defguard.net/pool/ --recursive) | awk '{print "<a href=\""$4"\">"$4"</a><br>"}' > index.html
247+
aws s3 cp index.html s3://apt.defguard.net/ --acl public-read

0 commit comments

Comments
 (0)