Create Repo for RustDesk latest #37
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Repo for RustDesk latest | |
on: | |
schedule: | |
# Every Saturday at 3AM UTC | |
- cron: "0 3 * * 6" | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**.md' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
env: | |
REPO_NAME: xlion-rustdesk-latest-apt-repo | |
CODENAME: main | |
COMPONENTS: main | |
ARCHITECTURES: amd64 arm64 armhf i386 | |
# armhf is ARMv7 (32bit) | |
jobs: | |
verify: | |
name: Verify container | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Cosign | |
uses: sigstore/[email protected] | |
- name: Verify | |
run: | | |
cosign verify --rekor-url=https://rekor.sigstore.dev \ | |
--certificate-identity-regexp "https://github.com/xlionjuan/.*" \ | |
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ | |
ghcr.io/xlionjuan/fedora-createrepo-image:latest | |
build: | |
runs-on: ubuntu-latest | |
needs: verify | |
container: ghcr.io/xlionjuan/fedora-createrepo-image:latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup Pages | |
uses: actions/configure-pages@v5 | |
- name: Download RustDesk | |
run: dpkg-deb --build rustdesk-server-meta rustdesk-server-meta.deb & bash rustdesk_latest.sh & bash rustdesk-server_latest.sh | |
- name: Create apt repository | |
uses: xlionjuan/apt-repo-action@6904bef9c1e836ccccaac1f541bacf8f58be66ff | |
id: create-apt-repo | |
with: | |
repo-name: ${{ env.REPO_NAME }} | |
signing-key: ${{ secrets.SIGNING_KEY }} | |
codename: ${{ env.CODENAME }} | |
components: ${{ env.COMPONENTS }} | |
architectures: ${{ env.ARCHITECTURES }} | |
- name: Copy wwwroot to the output folder | |
run: cp -r wwwroot/* ${{ steps.create-apt-repo.outputs.dir }} | |
- name: Upload Pages artifact | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
name: github-pages | |
path: ${{ steps.create-apt-repo.outputs.dir }} | |
- name: Publish Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cf_r2 | |
path: ${{ steps.create-apt-repo.outputs.dir }} | |
if-no-files-found: error | |
deploy: | |
name: Deploy to GitHub Pages | |
if: github.event_name != 'pull_request' | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v4 | |
push-to-cf-r2: | |
name: Push to Cloudflare R2 | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: cf_r2 | |
path: src-dir/latest | |
merge-multiple: true | |
- name: Upload to Cloudflare R2 | |
uses: ryand56/r2-upload-action@47013c9cf0012876409579ed17399005aa287b48 # 1.3.4 | |
with: | |
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} | |
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} | |
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} | |
r2-bucket: ${{ secrets.R2_BUCKET }} | |
keep-file-fresh: true | |
source-dir: src-dir | |
destination-dir: ./ |