From bb173f68646271a8d194a7c2469792a852e951e3 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Sun, 1 Dec 2024 16:53:12 +0500 Subject: [PATCH 01/10] added and used new github action for publishing packages to packagecloud --- .github/workflows/publish-packages.yml | 39 ++++++++++++++++++++++++++ .github/workflows/release.yml | 8 ++++++ SourceGit.sln | 1 + 3 files changed, 48 insertions(+) create mode 100644 .github/workflows/publish-packages.yml diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml new file mode 100644 index 000000000..be5e373f8 --- /dev/null +++ b/.github/workflows/publish-packages.yml @@ -0,0 +1,39 @@ +name: Publish to PackageCloud +on: + workflow_call: + inputs: + version: + description: SourceGit package version + required: true + type: string + secrets: + PACKAGECLOUD_TOKEN: + required: true +jobs: + publish: + name: Publish to PackageCloud + runs-on: ubuntu-latest + strategy: + matrix: + runtime: [linux-x64, linux-arm64] + steps: + - name: Install package_cloud + run: gem install package_cloud + + - name: Download package artifacts + uses: actions/download-artifact@v4 + with: + name: package.${{ matrix.runtime }} + path: packages + + - name: Publish DEB package + env: + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + run: | + package_cloud push your-username/sourcegit/debian/any packages/*.deb + + - name: Publish RPM package + env: + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + run: | + package_cloud push your-username/sourcegit/rpm_any/rpm_any packages/*.rpm diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c19103e3a..a1ba08bd1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,14 @@ jobs: uses: ./.github/workflows/package.yml with: version: ${{ needs.version.outputs.version }} + publish-packages: + needs: [package, version] + name: Publish Packages + uses: ./.github/workflows/publish-packages.yml + with: + version: ${{ needs.version.outputs.version }} + secrets: + PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} release: needs: [package, version] name: Release diff --git a/SourceGit.sln b/SourceGit.sln index 9c5fcdb1b..3eeb8a546 100644 --- a/SourceGit.sln +++ b/SourceGit.sln @@ -18,6 +18,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ .github\workflows\package.yml = .github\workflows\package.yml .github\workflows\release.yml = .github\workflows\release.yml .github\workflows\localization-check.yml = .github\workflows\localization-check.yml + .github\workflows\publish-packages.yml = .github\workflows\publish-packages.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{49A7C2D6-558C-4FAA-8F5D-EEE81497AED7}" From cc7a48286026da00eda842765a38d5bfecde21c1 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:05:43 +0500 Subject: [PATCH 02/10] publish-packages.yml WIP --- .github/workflows/publish-packages.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index be5e373f8..7ee4787cd 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -17,8 +17,16 @@ jobs: matrix: runtime: [linux-x64, linux-arm64] steps: - - name: Install package_cloud - run: gem install package_cloud + - name: Download and unpack buildkite CLI # ugly, but the only way for now + run: | + curl -s https://api.github.com/repos/buildkite/cli/releases/latest \ + | grep "browser_download_url.*amd64.tar.gz" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -i - -O - \ + | tar -xz \ + && mv bk_*/bk . \ + && rm bk_* -rfd - name: Download package artifacts uses: actions/download-artifact@v4 @@ -30,10 +38,12 @@ jobs: env: PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} run: | - package_cloud push your-username/sourcegit/debian/any packages/*.deb + curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-deb/packages \ + -H "Authorization: Bearer $PACKAGECLOUD_TOKEN" \ + -F "file=build/sourcegit-0.0.1-1.x86_64.rpm" - name: Publish RPM package env: PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} run: | - package_cloud push your-username/sourcegit/rpm_any/rpm_any packages/*.rpm + package_cloud push stone-w4tch3r/sourcegit-fork-test-rpm/rpm_any/rpm_any packages/*.rpm From 5a0c06f7b35315b96ab7fe9f80267b11ffc20fc6 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:13:20 +0500 Subject: [PATCH 03/10] publish-packages.yml now uses curl push --- .github/workflows/publish-packages.yml | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 7ee4787cd..15efb6f0a 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -17,17 +17,6 @@ jobs: matrix: runtime: [linux-x64, linux-arm64] steps: - - name: Download and unpack buildkite CLI # ugly, but the only way for now - run: | - curl -s https://api.github.com/repos/buildkite/cli/releases/latest \ - | grep "browser_download_url.*amd64.tar.gz" \ - | cut -d : -f 2,3 \ - | tr -d \" \ - | wget -i - -O - \ - | tar -xz \ - && mv bk_*/bk . \ - && rm bk_* -rfd - - name: Download package artifacts uses: actions/download-artifact@v4 with: @@ -36,14 +25,18 @@ jobs: - name: Publish DEB package env: - PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | + FILE=$(echo *.deb) curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-deb/packages \ - -H "Authorization: Bearer $PACKAGECLOUD_TOKEN" \ - -F "file=build/sourcegit-0.0.1-1.x86_64.rpm" + -H "Authorization: Bearer $BUILDKITE_TOKEN" \ + -F "file=@$FILE" - name: Publish RPM package env: - PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | - package_cloud push stone-w4tch3r/sourcegit-fork-test-rpm/rpm_any/rpm_any packages/*.rpm + FILE=$(echo *.rpm) + curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-rpm/packages \ + -H "Authorization: Bearer $BUILDKITE_TOKEN" \ + -F "file=@$FILE" From 3de319fede5d3646878c850ee15809ebf6ffd6d5 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:15:22 +0500 Subject: [PATCH 04/10] fix naming from packagecloud to buildkite --- .github/workflows/publish-packages.yml | 6 +++--- .github/workflows/release.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 15efb6f0a..63090e672 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -1,4 +1,4 @@ -name: Publish to PackageCloud +name: Publish to Buildkite on: workflow_call: inputs: @@ -7,11 +7,11 @@ on: required: true type: string secrets: - PACKAGECLOUD_TOKEN: + BUILDKITE_TOKEN: required: true jobs: publish: - name: Publish to PackageCloud + name: Publish to Buildkite runs-on: ubuntu-latest strategy: matrix: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a1ba08bd1..c7c8d04bf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,7 +31,7 @@ jobs: with: version: ${{ needs.version.outputs.version }} secrets: - PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }} + BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} release: needs: [package, version] name: Release From a99594665a536cc95d8befd91dc59dbd37ae993d Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 14:46:55 +0500 Subject: [PATCH 05/10] Add debug logs to publish-packages.yml --- .github/workflows/publish-packages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 63090e672..fb00a586f 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -28,6 +28,7 @@ jobs: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | FILE=$(echo *.deb) + echo $FILE curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-deb/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ -F "file=@$FILE" From cb3cf12d7ab7dd10187d1ca172189f32e13c8d66 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:04:59 +0500 Subject: [PATCH 06/10] fix package path --- .github/workflows/publish-packages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index fb00a586f..2a468f359 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -27,7 +27,7 @@ jobs: env: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | - FILE=$(echo *.deb) + FILE=$(echo packages/*.deb) echo $FILE curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-deb/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ @@ -37,7 +37,7 @@ jobs: env: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | - FILE=$(echo *.rpm) + FILE=$(echo packages/*.rpm) curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-rpm/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ -F "file=@$FILE" From 94b0bba1dec562cfa788decedd42cbf77bae3a53 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:28:10 +0500 Subject: [PATCH 07/10] change repo name to sourcegit --- .github/workflows/publish-packages.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 2a468f359..7befc25e7 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -28,8 +28,7 @@ jobs: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | FILE=$(echo packages/*.deb) - echo $FILE - curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-deb/packages \ + curl -X POST https://api.buildkite.com/v2/packages/organizations/sourcegit/registries/sourcegit-deb/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ -F "file=@$FILE" @@ -38,6 +37,6 @@ jobs: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} run: | FILE=$(echo packages/*.rpm) - curl -X POST https://api.buildkite.com/v2/packages/organizations/stone-w4tch3r/registries/sourcegit-fork-test-rpm/packages \ + curl -X POST https://api.buildkite.com/v2/packages/organizations/sourcegit/registries/sourcegit-rpm/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ -F "file=@$FILE" From 67d803781779f6737b344789cbe83e7fbdebe280 Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:44:13 +0500 Subject: [PATCH 08/10] fixed unused code --- .github/workflows/publish-packages.yml | 5 ----- .github/workflows/release.yml | 2 -- 2 files changed, 7 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 7befc25e7..024f3f2bd 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -1,11 +1,6 @@ name: Publish to Buildkite on: workflow_call: - inputs: - version: - description: SourceGit package version - required: true - type: string secrets: BUILDKITE_TOKEN: required: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c7c8d04bf..223fe75f8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,8 +28,6 @@ jobs: needs: [package, version] name: Publish Packages uses: ./.github/workflows/publish-packages.yml - with: - version: ${{ needs.version.outputs.version }} secrets: BUILDKITE_TOKEN: ${{ secrets.BUILDKITE_TOKEN }} release: From 2c450bddf1f27008b7992d03b8db1d769f426d2b Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 18:05:02 +0500 Subject: [PATCH 09/10] added --fail to curl pushes --- .github/workflows/publish-packages.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 024f3f2bd..9e465fe70 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -25,7 +25,8 @@ jobs: FILE=$(echo packages/*.deb) curl -X POST https://api.buildkite.com/v2/packages/organizations/sourcegit/registries/sourcegit-deb/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ - -F "file=@$FILE" + -F "file=@$FILE" \ + --fail - name: Publish RPM package env: @@ -34,4 +35,5 @@ jobs: FILE=$(echo packages/*.rpm) curl -X POST https://api.buildkite.com/v2/packages/organizations/sourcegit/registries/sourcegit-rpm/packages \ -H "Authorization: Bearer $BUILDKITE_TOKEN" \ - -F "file=@$FILE" + -F "file=@$FILE" \ + --fail From 44e6de7048053c9ff532ec9fee1bad2e75be97dc Mon Sep 17 00:00:00 2001 From: stone-w4tch3r <100294019+stone-w4tch3r@users.noreply.github.com> Date: Tue, 3 Dec 2024 18:24:02 +0500 Subject: [PATCH 10/10] Remove leftowers from release.yml --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 223fe75f8..6a38c1744 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,6 @@ jobs: with: version: ${{ needs.version.outputs.version }} publish-packages: - needs: [package, version] name: Publish Packages uses: ./.github/workflows/publish-packages.yml secrets: