From a9a26d8f7018586f81169b368c6de12ac5f653b2 Mon Sep 17 00:00:00 2001 From: Michael Yanni Date: Wed, 22 May 2024 09:00:54 -0700 Subject: [PATCH 01/28] Created README.md describing the repository consolidation efforts. --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..2bb1ff1da --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +## Repository Consolidation + +Going forward, the .NET SDK team is using the [dotnet/sdk](https://github.com/dotnet/sdk) repository for further development and respond to issues formerly in this repository. \ No newline at end of file From 03f631099b997d6489ffea4880c747cd7933cb44 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Thu, 23 May 2024 13:52:53 -0700 Subject: [PATCH 02/28] Add link to the sdk installer table --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2bb1ff1da..806c5f9b0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ ## Repository Consolidation -Going forward, the .NET SDK team is using the [dotnet/sdk](https://github.com/dotnet/sdk) repository for further development and respond to issues formerly in this repository. \ No newline at end of file +Going forward, the .NET SDK team is using the [dotnet/sdk](https://github.com/dotnet/sdk) repository for further development and respond to issues formerly in this repository. + +The installers-and-binaries table can be found in [there](https://github.com/dotnet/sdk/blob/main/documentation/package-table#table) as well. From d91c8cf132b70753032828c5310b89a17df6cfc5 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Fri, 24 May 2024 11:57:09 -0700 Subject: [PATCH 03/28] PR feedback Co-authored-by: Michael Yanni --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 806c5f9b0..32a46ea1c 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ Going forward, the .NET SDK team is using the [dotnet/sdk](https://github.com/dotnet/sdk) repository for further development and respond to issues formerly in this repository. -The installers-and-binaries table can be found in [there](https://github.com/dotnet/sdk/blob/main/documentation/package-table#table) as well. +For finding the latest installers table and other installation information, see the [Installing the SDK](https://github.com/dotnet/sdk#installing-the-sdk) section in that repository's readme. From 7e088230c5c3a09b5e4eb030f125ef5bd1d42f5c Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 12 Aug 2024 02:13:49 -0400 Subject: [PATCH 04/28] forgejo: initial ci --- .forgejo/workflows/generate-tarball.yml | 56 ++++++++++++++++++++++++ .forgejo/workflows/mirror-repository.yml | 38 ++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 .forgejo/workflows/generate-tarball.yml create mode 100644 .forgejo/workflows/mirror-repository.yml diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml new file mode 100644 index 000000000..836dd48d9 --- /dev/null +++ b/.forgejo/workflows/generate-tarball.yml @@ -0,0 +1,56 @@ +on: + workflow_dispatch: + inputs: + ref_name: + description: 'Tag or commit' + required: true + type: string + +jobs: + build-tarball: + name: Build tarball + runs-on: x86_64 + container: + image: alpine:latest + env: + CI_PROJECT_NAME: zotero + steps: + - name: Environment setup + run: apk add nodejs git xz gzip dotnet6-sdk + - name: Repo pull + uses: actions/checkout@v4 + with: + fetch-depth: 500 + ref: ${{ inputs.ref_name }} + - name: Package build + run: | + sed 's||' -i src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets + export _cli_root=/usr/lib/dotnet + echo "Building dotnet-$CI_COMMIT_TAG tarball" + _InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh /p:ArcadeBuildTarball=true /p:EnableSourceLink=false /p:CheckEolTargetFramework=false /p:TarballDir=$(pwd)/dotnet-$CI_COMMIT_TAG /p:TarballFilePath=$(pwd)/dotnet-$CI_COMMIT_TAG.tar + echo "Compressing dotnet-$CI_COMMIT_TAG.tar.xz" + xz -T0 -9 -vv -e -c > ./dotnet-$CI_COMMIT_TAG.tar.xz < ./dotnet-$CI_COMMIT_TAG.tar + echo "Generating sha512sum and sha256sum" + sha512sum dotnet-$CI_COMMIT_TAG.tar.xz > dotnet-$CI_COMMIT_TAG.tar.xz.sha512sum + sha256sum dotnet-$CI_COMMIT_TAG.tar.xz > dotnet-$CI_COMMIT_TAG.tar.xz.sha256sum + - name: Package upload + uses: forgejo/upload-artifact@v3 + with: + name: tarball + path: dotnet* + upload-tarball: + name: Upload to generic repo + runs-on: x86_64 + needs: [build-tarball] + container: + image: alpine:latest + steps: + - name: Environment setup + run: apk add nodejs curl findutils + - name: Package download + uses: forgejo/download-artifact@v3 + - name: Package deployment + run: | + find . + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/zotero-${{ inputs.ref_name }}.tar.gz ${{ github.server_url }}/api/packages/mirrors/generic/zotero/${{ inputs.ref_name }}/zotero-${{ inputs.ref_name}}.tar.gz + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/zotero-${{ inputs.ref_name }}.tar.gz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/zotero/${{ inputs.ref_name }}/zotero-${{ inputs.ref_name}}.tar.gz.sha512sum diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml new file mode 100644 index 000000000..478b67c43 --- /dev/null +++ b/.forgejo/workflows/mirror-repository.yml @@ -0,0 +1,38 @@ +on: + workflow_dispatch: + + schedule: + - cron: '@hourly' + + push: + branches: + - 'main' + +jobs: + mirror: + name: Pull from upstream + runs-on: x86_64 + container: + image: 'docker.io/node:20-bookworm' + steps: + - name: git mirror branches {v*/,}main & tags + run: | + git init --bare . + git remote add origin https://github.com/dotnet/installer + git fetch origin refs/heads/main:refs/mirror/main + git ls-remote origin refs/heads/v*/main | while read sha full_ref ; do + ref=${full_ref#refs/heads/} + git fetch origin $full_ref:refs/mirror/$ref + tag=${ref%/main} + git fetch origin refs/tags/${tag}*:refs/mirror-tags/${tag}* + done + if test "${{ vars.TEST }}" != true ; then + token=${{ secrets.CODE_FORGEJO_TOKEN }} + destination=${{ vars.DESTINATION }} + owner=${{ vars.OWNER }} + else + token=${{ secrets.TEST_FORGEJO_TOKEN }} + destination=${{ vars.TEST_DESTINATION }} + owner=${{ vars.TEST_OWNER }} + fi + git push --force https://any:$token@$destination/$owner/dotnet-installer refs/mirror/*:refs/heads/* refs/mirror-tags/*:refs/tags/* --tags From fad8f4a4b62475cdbfc2d48f8019ba4d5cc2b749 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 13 Aug 2024 13:37:32 -0400 Subject: [PATCH 05/28] mirror-repository: remove manual dispatch to see if cron works --- .forgejo/workflows/mirror-repository.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index 478b67c43..d8b27ee63 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -1,6 +1,4 @@ on: - workflow_dispatch: - schedule: - cron: '@hourly' From 7795fb0f520754a621a9ef8efe59cf79f7fccf1d Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 13 Aug 2024 14:08:18 -0400 Subject: [PATCH 06/28] mirror-repository: push all branches --- .forgejo/workflows/mirror-repository.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index d8b27ee63..e3c1cf65c 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -2,10 +2,6 @@ on: schedule: - cron: '@hourly' - push: - branches: - - 'main' - jobs: mirror: name: Pull from upstream From 3f011344190d0b651e0d0f0ffa59130216b3969a Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 00:55:53 -0400 Subject: [PATCH 07/28] mirror-repository: fetch all --- .forgejo/workflows/mirror-repository.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index e3c1cf65c..e52b5e158 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -2,6 +2,8 @@ on: schedule: - cron: '@hourly' + workflow_dispatch: + jobs: mirror: name: Pull from upstream @@ -9,15 +11,15 @@ jobs: container: image: 'docker.io/node:20-bookworm' steps: - - name: git mirror branches {v*/,}main & tags + - name: git mirror branches {v*/,}* & tags run: | git init --bare . git remote add origin https://github.com/dotnet/installer - git fetch origin refs/heads/main:refs/mirror/main - git ls-remote origin refs/heads/v*/main | while read sha full_ref ; do + git fetch origin refs/heads/*:refs/mirror/* + git ls-remote origin refs/heads/v*/* | while read sha full_ref ; do ref=${full_ref#refs/heads/} git fetch origin $full_ref:refs/mirror/$ref - tag=${ref%/main} + tag=${ref} git fetch origin refs/tags/${tag}*:refs/mirror-tags/${tag}* done if test "${{ vars.TEST }}" != true ; then From ebe8ba815b894eb5d510ecddeefbde3a68236380 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 00:57:07 -0400 Subject: [PATCH 08/28] mirror-repository: manual dispatch --- .forgejo/workflows/mirror-repository.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index e52b5e158..baa71bf38 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -1,7 +1,4 @@ on: - schedule: - - cron: '@hourly' - workflow_dispatch: jobs: From 9192e552875bcf32aefa3473a9ea7ad4c5ca5af7 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 00:59:31 -0400 Subject: [PATCH 09/28] mirror-repository: add hourly cron --- .forgejo/workflows/mirror-repository.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index baa71bf38..50ec33eeb 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -1,6 +1,9 @@ on: workflow_dispatch: + schedule: + - cron: '@hourly' + jobs: mirror: name: Pull from upstream From 03780e4bdefa2867df93f6988f87f714f65b027d Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 01:00:37 -0400 Subject: [PATCH 10/28] generate-tarball.yml: try 3.20 --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 836dd48d9..673368248 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,7 +11,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:latest + image: alpine:v3.20 env: CI_PROJECT_NAME: zotero steps: @@ -43,7 +43,7 @@ jobs: runs-on: x86_64 needs: [build-tarball] container: - image: alpine:latest + image: alpine:v3.20 steps: - name: Environment setup run: apk add nodejs curl findutils From 8a41204225b19b339ccb3f2b01e5fc6fad72ac74 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 01:01:16 -0400 Subject: [PATCH 11/28] Revert "generate-tarball.yml: try 3.20" This reverts commit 03780e4bdefa2867df93f6988f87f714f65b027d. --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 673368248..836dd48d9 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,7 +11,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:v3.20 + image: alpine:latest env: CI_PROJECT_NAME: zotero steps: @@ -43,7 +43,7 @@ jobs: runs-on: x86_64 needs: [build-tarball] container: - image: alpine:v3.20 + image: alpine:latest steps: - name: Environment setup run: apk add nodejs curl findutils From 3c85399b0fc31dc9593931758a1918c011cca540 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 01:10:55 -0400 Subject: [PATCH 12/28] generate-tarball: use edge --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 836dd48d9..1248e3e86 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,7 +11,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:latest + image: alpine:edge env: CI_PROJECT_NAME: zotero steps: @@ -43,7 +43,7 @@ jobs: runs-on: x86_64 needs: [build-tarball] container: - image: alpine:latest + image: alpine:edge steps: - name: Environment setup run: apk add nodejs curl findutils From 859a293b8ee947f99c4973787d44829aa1fb9232 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 01:12:02 -0400 Subject: [PATCH 13/28] generate-tarball: use alpine-gitlab-ci --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 1248e3e86..07d3bd548 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,7 +11,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:edge + image: alpinelinux/alpine-gitlab-ci:latest env: CI_PROJECT_NAME: zotero steps: @@ -43,7 +43,7 @@ jobs: runs-on: x86_64 needs: [build-tarball] container: - image: alpine:edge + image: alpinelinux/alpine-gitlab-ci:latest steps: - name: Environment setup run: apk add nodejs curl findutils From bbcd6d7b943811bbe1e5ee996079ff6a4af3c8b9 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Aug 2024 01:13:08 -0400 Subject: [PATCH 14/28] generate-tarball: use doas --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 07d3bd548..08b3dddd8 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -16,7 +16,7 @@ jobs: CI_PROJECT_NAME: zotero steps: - name: Environment setup - run: apk add nodejs git xz gzip dotnet6-sdk + run: doas apk add nodejs git xz gzip dotnet6-sdk - name: Repo pull uses: actions/checkout@v4 with: @@ -46,7 +46,7 @@ jobs: image: alpinelinux/alpine-gitlab-ci:latest steps: - name: Environment setup - run: apk add nodejs curl findutils + run: doas apk add nodejs curl findutils - name: Package download uses: forgejo/download-artifact@v3 - name: Package deployment From b81061a33024be3facacc45121a2b2d129641143 Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Thu, 5 Sep 2024 11:37:55 -0500 Subject: [PATCH 15/28] reenable backports for installer even when the archive branch is default (#20105) --- .github/workflows/backport.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/backport.yml diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml new file mode 100644 index 000000000..11d78d911 --- /dev/null +++ b/.github/workflows/backport.yml @@ -0,0 +1,19 @@ +name: Backport PR to branch +on: + issue_comment: + types: [created] + +permissions: + contents: write + issues: write + pull-requests: write + actions: write + +jobs: + backport: + uses: dotnet/arcade/.github/workflows/backport-base.yml@main + with: + pr_description_template: | + Backport of #%source_pr_number% to %target_branch% + + /cc %cc_users% \ No newline at end of file From 3ea484b8b35a689cbbdbe2b29b226c6d169c0c0d Mon Sep 17 00:00:00 2001 From: forge Date: Mon, 9 Sep 2024 12:38:39 +0000 Subject: [PATCH 16/28] Use alpine:latest image --- .forgejo/workflows/generate-tarball.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 08b3dddd8..8f29bd8ed 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,12 +11,10 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpinelinux/alpine-gitlab-ci:latest - env: - CI_PROJECT_NAME: zotero + image: alpine:latest steps: - name: Environment setup - run: doas apk add nodejs git xz gzip dotnet6-sdk + run: apk add nodejs git xz gzip dotnet6-sdk sed - name: Repo pull uses: actions/checkout@v4 with: @@ -43,10 +41,10 @@ jobs: runs-on: x86_64 needs: [build-tarball] container: - image: alpinelinux/alpine-gitlab-ci:latest + image: alpine:latest steps: - name: Environment setup - run: doas apk add nodejs curl findutils + run: apk add nodejs curl findutils - name: Package download uses: forgejo/download-artifact@v3 - name: Package deployment From 02ea5ed5c89e9f10f985ac7e365cefeb292bce59 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 09:36:31 -0400 Subject: [PATCH 17/28] add bash depend --- .forgejo/workflows/generate-tarball.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 8f29bd8ed..875e4dea3 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -14,7 +14,7 @@ jobs: image: alpine:latest steps: - name: Environment setup - run: apk add nodejs git xz gzip dotnet6-sdk sed + run: apk add nodejs git xz gzip dotnet6-sdk sed bash - name: Repo pull uses: actions/checkout@v4 with: From 3ff6562e3fa8e7ea69f50bf18616b257fcc5017d Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 09:56:00 -0400 Subject: [PATCH 18/28] forgejo-ci: retain artifacts for 1 day only --- .forgejo/workflows/generate-tarball.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 875e4dea3..2c172fa8a 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -35,7 +35,8 @@ jobs: uses: forgejo/upload-artifact@v3 with: name: tarball - path: dotnet* + path: dotnet*.tar.* + retention-days: 1 day upload-tarball: name: Upload to generic repo runs-on: x86_64 @@ -50,5 +51,6 @@ jobs: - name: Package deployment run: | find . - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/zotero-${{ inputs.ref_name }}.tar.gz ${{ github.server_url }}/api/packages/mirrors/generic/zotero/${{ inputs.ref_name }}/zotero-${{ inputs.ref_name}}.tar.gz - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/zotero-${{ inputs.ref_name }}.tar.gz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/zotero/${{ inputs.ref_name }}/zotero-${{ inputs.ref_name}}.tar.gz.sha512sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/dotnet/zotero/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha512sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/dotnet/zotero/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha256sum From 473d6d49d54ba81000c253f0159a0e816b3aaabf Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 10:22:37 -0400 Subject: [PATCH 19/28] Properly name tarball --- .forgejo/workflows/generate-tarball.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 2c172fa8a..bfa6a505d 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -24,13 +24,13 @@ jobs: run: | sed 's||' -i src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets export _cli_root=/usr/lib/dotnet - echo "Building dotnet-$CI_COMMIT_TAG tarball" - _InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh /p:ArcadeBuildTarball=true /p:EnableSourceLink=false /p:CheckEolTargetFramework=false /p:TarballDir=$(pwd)/dotnet-$CI_COMMIT_TAG /p:TarballFilePath=$(pwd)/dotnet-$CI_COMMIT_TAG.tar - echo "Compressing dotnet-$CI_COMMIT_TAG.tar.xz" - xz -T0 -9 -vv -e -c > ./dotnet-$CI_COMMIT_TAG.tar.xz < ./dotnet-$CI_COMMIT_TAG.tar + echo "Building dotnet-${{ inputs.ref_name }} tarball" + _InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh /p:ArcadeBuildTarball=true /p:EnableSourceLink=false /p:CheckEolTargetFramework=false /p:TarballDir=$(pwd)/dotnet-${{ inputs.ref_name }} /p:TarballFilePath=$(pwd)/dotnet-${{ inputs.ref_name }}.tar + echo "Compressing dotnet-${{ inputs.ref_name }}.tar.xz" + xz -T0 -9 -vv -e -c > ./dotnet-${{ inputs.ref_name }}.tar.xz < ./dotnet-${{ inputs.ref_name }}.tar echo "Generating sha512sum and sha256sum" - sha512sum dotnet-$CI_COMMIT_TAG.tar.xz > dotnet-$CI_COMMIT_TAG.tar.xz.sha512sum - sha256sum dotnet-$CI_COMMIT_TAG.tar.xz > dotnet-$CI_COMMIT_TAG.tar.xz.sha256sum + sha512sum dotnet-${{ inputs.ref_name }}.tar.xz > dotnet-${{ inputs.ref_name }}.tar.xz.sha512sum + sha256sum dotnet-${{ inputs.ref_name }}.tar.xz > dotnet-${{ inputs.ref_name }}.tar.xz.sha256sum - name: Package upload uses: forgejo/upload-artifact@v3 with: From 2366ef44294a3251937139f7d6bef73ad863eb7a Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 11:06:25 -0400 Subject: [PATCH 20/28] Fix sha512sum uploads --- .forgejo/workflows/generate-tarball.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index bfa6a505d..a466a0445 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -52,5 +52,5 @@ jobs: run: | find . curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/dotnet/zotero/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha512sum - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/dotnet/zotero/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha256sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha512sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha256sum From 374178336235fdfd7b7fce6b96eced64f7ee2032 Mon Sep 17 00:00:00 2001 From: forge Date: Mon, 9 Sep 2024 16:48:18 +0000 Subject: [PATCH 21/28] Add dotnet7-sdk depend --- .forgejo/workflows/generate-tarball.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index a466a0445..ebe59c1cc 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -14,7 +14,7 @@ jobs: image: alpine:latest steps: - name: Environment setup - run: apk add nodejs git xz gzip dotnet6-sdk sed bash + run: apk add nodejs git xz gzip dotnet6-sdk dotnet7-sdk sed bash - name: Repo pull uses: actions/checkout@v4 with: From b76ebe359ace5ba2b54a21692365cfd897e57423 Mon Sep 17 00:00:00 2001 From: forge Date: Mon, 9 Sep 2024 19:19:47 +0000 Subject: [PATCH 22/28] Use Alpine 3.19 image --- .forgejo/workflows/generate-tarball.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index ebe59c1cc..15a6fd2b7 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -11,7 +11,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:latest + image: alpine:3.19 steps: - name: Environment setup run: apk add nodejs git xz gzip dotnet6-sdk dotnet7-sdk sed bash From 85a04f886c40e21ee1fa65f7e58527259aa99093 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 19:32:32 -0400 Subject: [PATCH 23/28] Generate tarball automatically on new tag --- .forgejo/workflows/generate-tarball.yml | 29 ++++++++---- .forgejo/workflows/mirror-repository.yml | 58 +++++++++++++++--------- 2 files changed, 56 insertions(+), 31 deletions(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 15a6fd2b7..4fa5ab10b 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -6,6 +6,10 @@ on: required: true type: string + push: + tags: + - '*' + jobs: build-tarball: name: Build tarball @@ -22,15 +26,21 @@ jobs: ref: ${{ inputs.ref_name }} - name: Package build run: | + if test $GITHUB_REF_NAME == "ci" ; then + CI_REF_NAME=${{ inputs.ref_name }} + else + CI_REF_NAME=$GITHUB_REF_NAME + fi + echo "CI_REF_NAME=$CI_REF_NAME" >> $GITHUB_OUTPUT sed 's||' -i src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets export _cli_root=/usr/lib/dotnet - echo "Building dotnet-${{ inputs.ref_name }} tarball" - _InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh /p:ArcadeBuildTarball=true /p:EnableSourceLink=false /p:CheckEolTargetFramework=false /p:TarballDir=$(pwd)/dotnet-${{ inputs.ref_name }} /p:TarballFilePath=$(pwd)/dotnet-${{ inputs.ref_name }}.tar - echo "Compressing dotnet-${{ inputs.ref_name }}.tar.xz" - xz -T0 -9 -vv -e -c > ./dotnet-${{ inputs.ref_name }}.tar.xz < ./dotnet-${{ inputs.ref_name }}.tar + echo "Building dotnet-$CI_REF_NAME tarball" + _InitializeDotNetCli="$_cli_root" DOTNET_INSTALL_DIR="$_cli_root" DotNetBuildFromSource=true ./build.sh /p:ArcadeBuildTarball=true /p:EnableSourceLink=false /p:CheckEolTargetFramework=false /p:TarballDir=$(pwd)/dotnet-$CI_REF_NAME /p:TarballFilePath=$(pwd)/dotnet-$CI_REF_NAME.tar + echo "Compressing dotnet-$CI_REF_NAME.tar.xz" + xz -T0 -9 -vv -e -c > ./dotnet-$CI_REF_NAME.tar.xz < ./dotnet-$CI_REF_NAME.tar echo "Generating sha512sum and sha256sum" - sha512sum dotnet-${{ inputs.ref_name }}.tar.xz > dotnet-${{ inputs.ref_name }}.tar.xz.sha512sum - sha256sum dotnet-${{ inputs.ref_name }}.tar.xz > dotnet-${{ inputs.ref_name }}.tar.xz.sha256sum + sha512sum dotnet-$CI_REF_NAME.tar.xz > dotnet-$CI_REF_NAME.tar.xz.sha512sum + sha256sum dotnet-$CI_REF_NAME.tar.xz > dotnet-$CI_REF_NAME.tar.xz.sha256sum - name: Package upload uses: forgejo/upload-artifact@v3 with: @@ -50,7 +60,6 @@ jobs: uses: forgejo/download-artifact@v3 - name: Package deployment run: | - find . - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha512sum - curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/${{ inputs.ref_name }}/dotnet-${{ inputs.ref_name}}.tar.xz.sha256sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha512sum + curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha256sum diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index 50ec33eeb..b2527d56a 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -9,26 +9,42 @@ jobs: name: Pull from upstream runs-on: x86_64 container: - image: 'docker.io/node:20-bookworm' + image: alpine:latest + env: + upstream: https://github.com/dotnet/installer + tags: 'v6.0.1*' steps: - - name: git mirror branches {v*/,}* & tags + - name: Environment setup + run: apk add grep git sed coreutils bash nodejs + - name: Fetch destination + uses: actions/checkout@v4 + with: + fetch_depth: 1 + ref: ci + token: ${{ secrets.CODE_FORGEJO_TOKEN }} + - name: Missing tag detecting run: | - git init --bare . - git remote add origin https://github.com/dotnet/installer - git fetch origin refs/heads/*:refs/mirror/* - git ls-remote origin refs/heads/v*/* | while read sha full_ref ; do - ref=${full_ref#refs/heads/} - git fetch origin $full_ref:refs/mirror/$ref - tag=${ref} - git fetch origin refs/tags/${tag}*:refs/mirror-tags/${tag}* - done - if test "${{ vars.TEST }}" != true ; then - token=${{ secrets.CODE_FORGEJO_TOKEN }} - destination=${{ vars.DESTINATION }} - owner=${{ vars.OWNER }} - else - token=${{ secrets.TEST_FORGEJO_TOKEN }} - destination=${{ vars.TEST_DESTINATION }} - owner=${{ vars.TEST_OWNER }} - fi - git push --force https://any:$token@$destination/$owner/dotnet-installer refs/mirror/*:refs/heads/* refs/mirror-tags/*:refs/tags/* --tags + git ls-remote $upstream "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' > upstream_tags + git ls-remote ${{ github.server_url}}/${{ github.repository }} "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' > destination_tags + cat upstream_tags destination_tags | tr ' ' '\n' | sort | uniq -u > missing_tags + echo "Missing tags:" + cat missing_tags + - name: Missing tag fetch + run: | + git remote add upstream $upstream + while read tag; do + git fetch upstream tag $tag --no-tags + done < missing_tags + - name: Packaging workflow injection + run: | + while read tag; do + git checkout $tag + git tag -d $tag + git checkout ci -- ./.forgejo + git config user.name "forgejo-actions[bot]" + git config user.email "dev@ayakael.net" + git commit -m 'Inject custom workflow' + git tag -a $tag -m $tag + done < missing_tags + - name: Push to destination + run: git push --force origin refs/tags/*:refs/tags/* --tags From fc7838247ff1132386d1538a1e810c438524aa75 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 20:07:56 -0400 Subject: [PATCH 24/28] Do not use GITHUB_OUTPUT --- .forgejo/workflows/generate-tarball.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 4fa5ab10b..8049e0814 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -31,7 +31,6 @@ jobs: else CI_REF_NAME=$GITHUB_REF_NAME fi - echo "CI_REF_NAME=$CI_REF_NAME" >> $GITHUB_OUTPUT sed 's||' -i src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets export _cli_root=/usr/lib/dotnet echo "Building dotnet-$CI_REF_NAME tarball" @@ -60,6 +59,11 @@ jobs: uses: forgejo/download-artifact@v3 - name: Package deployment run: | + if test $GITHUB_REF_NAME == "ci" ; then + CI_REF_NAME=${{ inputs.ref_name }} + else + CI_REF_NAME=$GITHUB_REF_NAME + fi curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha512sum curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha256sum From 2afe995ddc765ba4cccb2476b53fcdcc23c2543e Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Sep 2024 20:47:53 -0400 Subject: [PATCH 25/28] Push is more verbose --- .forgejo/workflows/generate-tarball.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 8049e0814..1c6ba6db0 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -64,6 +64,7 @@ jobs: else CI_REF_NAME=$GITHUB_REF_NAME fi + echo "Uploading to ${{ github.server.url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz" curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha512sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha512sum curl --user ${{ vars.CODE_FORGEJO_USER }}:${{ secrets.CODE_FORGEJO_TOKEN }} --upload-file ./tarball/dotnet-*.tar.xz.sha256sum ${{ github.server_url }}/api/packages/mirrors/generic/dotnet/$CI_REF_NAME/dotnet-$CI_REF_NAME.tar.xz.sha256sum From d68131c139bbde0ab6b7454c87c0fff662349229 Mon Sep 17 00:00:00 2001 From: forge Date: Fri, 18 Oct 2024 11:02:14 +0000 Subject: [PATCH 26/28] Use comm instead of uniq to compute missing tags --- .forgejo/workflows/mirror-repository.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/mirror-repository.yml b/.forgejo/workflows/mirror-repository.yml index b2527d56a..8263173b7 100644 --- a/.forgejo/workflows/mirror-repository.yml +++ b/.forgejo/workflows/mirror-repository.yml @@ -24,9 +24,9 @@ jobs: token: ${{ secrets.CODE_FORGEJO_TOKEN }} - name: Missing tag detecting run: | - git ls-remote $upstream "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' > upstream_tags - git ls-remote ${{ github.server_url}}/${{ github.repository }} "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' > destination_tags - cat upstream_tags destination_tags | tr ' ' '\n' | sort | uniq -u > missing_tags + git ls-remote $upstream "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' | sort > upstream_tags + git ls-remote ${{ github.server_url}}/${{ github.repository }} "refs/tags/$tags" | grep -v '{' | sed 's|.*/||' | sort > destination_tags + comm -23 upstream_tags destination_tags > missing_tags echo "Missing tags:" cat missing_tags - name: Missing tag fetch From c3b7a0e744fa2b7280450018243baf02d2b0938e Mon Sep 17 00:00:00 2001 From: forge Date: Tue, 12 Nov 2024 22:09:52 +0000 Subject: [PATCH 27/28] Use alpine 3.20 --- .forgejo/workflows/generate-tarball.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 1c6ba6db0..34e84f6df 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -15,7 +15,7 @@ jobs: name: Build tarball runs-on: x86_64 container: - image: alpine:3.19 + image: alpine:3.20 steps: - name: Environment setup run: apk add nodejs git xz gzip dotnet6-sdk dotnet7-sdk sed bash From 43a5289eff2c268490f4bca08897ba68d818ae2d Mon Sep 17 00:00:00 2001 From: forge Date: Tue, 12 Nov 2024 22:11:30 +0000 Subject: [PATCH 28/28] Do not pull dotnet7 --- .forgejo/workflows/generate-tarball.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/generate-tarball.yml b/.forgejo/workflows/generate-tarball.yml index 34e84f6df..b85e30c36 100644 --- a/.forgejo/workflows/generate-tarball.yml +++ b/.forgejo/workflows/generate-tarball.yml @@ -18,7 +18,7 @@ jobs: image: alpine:3.20 steps: - name: Environment setup - run: apk add nodejs git xz gzip dotnet6-sdk dotnet7-sdk sed bash + run: apk add nodejs git xz gzip dotnet6-sdk sed bash - name: Repo pull uses: actions/checkout@v4 with: