Skip to content

Commit d86a095

Browse files
authored
enable pushing to artifact registry (#8)
1 parent 3cecac3 commit d86a095

2 files changed

Lines changed: 37 additions & 47 deletions

File tree

.github/workflows/build-pr.yml

Lines changed: 0 additions & 41 deletions
This file was deleted.
Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
1-
name: Debian Package Release
1+
name: Debian Package Build/Publish/Release
22

33
on:
4+
pull_request:
5+
branches: [ main ]
6+
push:
7+
branches: [ main ]
48
release:
59
types:
610
- published
711

12+
permissions:
13+
id-token: write
14+
815
jobs:
916
build:
10-
name: release
1117
runs-on: ubuntu-latest
1218
steps:
1319
- uses: actions/checkout@v3
@@ -20,8 +26,8 @@ jobs:
2026
notimportant
2127
tags: |
2228
type=pep440,pattern={{version}}
23-
type=ref,event=branch,prefix=0.0.0-
24-
type=ref,event=pr,prefix=0.0.0-pr-
29+
type=ref,event=branch,prefix=0.0.0-,suffix=-{{sha}}
30+
type=ref,event=pr,prefix=0.0.0-pr-,suffix=-{{sha}}
2531
type=sha,prefix=0.0.0-sha-
2632
2733
- uses: jiro4989/build-deb-action@v2
@@ -35,14 +41,24 @@ jobs:
3541
desc: |
3642
Unifi IP Rule Monitor for Tailscale
3743
44+
- name: Upload Artifact
45+
if: github.event_name != 'release'
46+
uses: actions/upload-artifact@v3
47+
with:
48+
name: debfiles
49+
path: |
50+
**/*.deb
51+
3852
- name: Get Release Asset
53+
if: github.event_name == 'release'
3954
id: get_release_asset
4055
run: |-
4156
echo "asset_path=$(echo ./*_all.deb)" >> $GITHUB_OUTPUT
4257
echo "asset_name=$(basename ./*_all.deb)" >> $GITHUB_OUTPUT
4358
echo "asset_content_type=$(file --brief --mime-type ./*_all.deb)" >> $GITHUB_OUTPUT
44-
59+
4560
- name: Upload Release Asset
61+
if: github.event_name == 'release'
4662
id: upload-release-asset
4763
uses: actions/upload-release-asset@v1
4864
env:
@@ -51,4 +67,19 @@ jobs:
5167
upload_url: ${{ github.event.release.upload_url }}
5268
asset_path: ${{ steps.get_release_asset.outputs.asset_path }}
5369
asset_name: ${{ steps.get_release_asset.outputs.asset_name }}
54-
asset_content_type: ${{ steps.get_release_asset.outputs.asset_content_type }}
70+
asset_content_type: ${{ steps.get_release_asset.outputs.asset_content_type }}
71+
72+
- name: Auth to GCP for pushing artifacts
73+
uses: google-github-actions/auth@v1
74+
with:
75+
workload_identity_provider: ${{ vars.GCP_WORKLOAD_IDENTITY_PROVIDER }}
76+
service_account: ${{ vars.GCP_BUILDS_SERVICE_ACCOUNT }}
77+
project_id: ${{ vars.GCP_BUILDS_PROJECT_ID }}
78+
create_credentials_file: true
79+
export_environment_variables: true
80+
81+
- name: Push to artifact registry
82+
run: |
83+
gcloud config set artifacts/repository unifi-os
84+
gcloud config set artifacts/location us
85+
gcloud artifacts apt upload unifi-os --source=unifi-tailscale-ip-rule-monitor_${{ steps.meta.outputs.version}}_all.deb

0 commit comments

Comments
 (0)