From 6b625f1407d940ff83966787c75575559e2a81ef Mon Sep 17 00:00:00 2001 From: soumyadghosh Date: Thu, 28 Mar 2024 09:09:32 +0530 Subject: [PATCH 1/6] update to latest 2.44.0 Signed-off-by: soumyadghosh --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index ea843af..24c4982 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -12,7 +12,7 @@ parts: webkitgtk-6-gnome-2204-sdk: #source: https://webkitgtk.org/releases/webkitgtk-2.40.1.tar.xz source: https://github.com/WebKit/WebKit.git - source-tag: 'webkitgtk-2.43.1' + source-tag: 'webkitgtk-2.44.0' source-depth: 1 # ext:updatesnap # version-format: From dd09f44c75a3ec5e1c26f8ee7ab2c013d5111a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A6=B8=E0=A7=8C=E0=A6=AE=E0=A7=8D=E0=A6=AF=E0=A6=A6?= =?UTF-8?q?=E0=A7=80=E0=A6=AA=20=E0=A6=98=E0=A7=8B=E0=A6=B7?= <72045785+soumyaDghosh@users.noreply.github.com> Date: Wed, 3 Apr 2024 18:11:14 +0530 Subject: [PATCH 2/6] feat: disable the use of `libbacktrace` --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 24c4982..1968195 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -27,6 +27,7 @@ parts: - -DCMAKE_SKIP_RPATH=ON - -DUSE_AVIF=ON - -DUSE_GTK4=ON + - -DUSE_LIBBACKTRACE=OFF - -DUSE_JPEGXL=OFF - -DENABLE_JOURNALD_LOG=OFF - -DENABLE_DOCUMENTATION=OFF From 5641bb151b441c9978c721c7de5458a41598f75c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A6=B8=E0=A7=8C=E0=A6=AE=E0=A7=8D=E0=A6=AF=E0=A6=A6?= =?UTF-8?q?=E0=A7=80=E0=A6=AA=20=E0=A6=98=E0=A7=8B=E0=A6=B7?= <72045785+soumyaDghosh@users.noreply.github.com> Date: Wed, 3 Apr 2024 22:48:16 +0530 Subject: [PATCH 3/6] misc: cleanup and remove `android-backtrace-dev` --- snap/snapcraft.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 1968195..27253a3 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,12 +1,12 @@ -name: webkitgtk-6-gnome-2204-sdk # you probably want to 'snapcraft register ' -base: core22 # the base snap is the execution environment for this snap -version: git # just for humans, typically '1.2+git' or '1.3.2' -summary: Web content engine for GTK(SDK) # 79 char long summary +name: webkitgtk-6-gnome-2204-sdk +base: core22 +version: git +summary: Web content engine for GTK(SDK) description: | SDK snap for Webkitgtk-6.0+, used with gnome-42-2204 and core22. -grade: stable # must be 'stable' to release into candidate/stable channels -confinement: strict # use 'strict' once you have the right plugs and slots +grade: stable +confinement: strict parts: webkitgtk-6-gnome-2204-sdk: @@ -33,7 +33,6 @@ parts: - -DENABLE_DOCUMENTATION=OFF - -DENABLE_MINIBROWSER=ON build-packages: - - android-libbacktrace-dev - bubblewrap - gettext - gperf @@ -94,7 +93,6 @@ parts: sed -i 's#libdir=/usr/lib#libdir=${exec_prefix}/lib#' $PC done stage-packages: - - android-libbacktrace-dev - bubblewrap - gstreamer1.0-libav - libgstreamer-plugins-bad1.0-0 From 03f4f59e627fdcff0f8933497ba4be35e40e6087 Mon Sep 17 00:00:00 2001 From: soumyadghosh Date: Sun, 28 Apr 2024 18:46:01 +0530 Subject: [PATCH 4/6] ci: add workflow automation to webkitgtk-sdk --- .github/workflows/promote-to-stable.yml | 44 ++++++++++++ .github/workflows/pull-request-content.yml | 21 ++++++ .github/workflows/pull-request-sdk.yml | 21 ++++++ .../release-content-to-candidate.yml | 69 +++++++++++++++++++ .../workflows/release-sdk-to-candidate.yml | 66 ++++++++++++++++++ .github/workflows/update-sdk-snap.yml | 48 +++++++++++++ .../snapcraft.yaml | 5 +- webkitgtk-6-gnome-2204/snapcraft.yaml | 25 +++++++ 8 files changed, 295 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/promote-to-stable.yml create mode 100644 .github/workflows/pull-request-content.yml create mode 100644 .github/workflows/pull-request-sdk.yml create mode 100644 .github/workflows/release-content-to-candidate.yml create mode 100644 .github/workflows/release-sdk-to-candidate.yml create mode 100644 .github/workflows/update-sdk-snap.yml rename {snap => webkitgtk-6-gnome-2204-sdk}/snapcraft.yaml (99%) create mode 100644 webkitgtk-6-gnome-2204/snapcraft.yaml diff --git a/.github/workflows/promote-to-stable.yml b/.github/workflows/promote-to-stable.yml new file mode 100644 index 0000000..0b980ba --- /dev/null +++ b/.github/workflows/promote-to-stable.yml @@ -0,0 +1,44 @@ +name: Promote to stable + +on: + issue_comment: + types: + - created + +permissions: + issues: write + +jobs: + promote-content: + name: ⬆️ Promote Content to stable + environment: "2204 Branch" + runs-on: ubuntu-latest + if: | + ( !github.event.issue.pull_request ) + && contains(github.event.comment.body, '/promote ') + && contains(github.event.issue.body, '`webkitgtk-6-gnome-2204 `') + && contains(github.event.*.labels.*.name, 'testing') + steps: + - name: ⬆️ Promote to stable + uses: snapcrafters/ci/promote-to-stable@main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + store-token: ${{ secrets.SNAP_STORE_STABLE }} + snapcraft-project-root: "webkitgtk-6-gnome-2204" + + promote-sdk: + name: ⬆️ Promote SDK to stable + environment: "2204 Branch" + runs-on: ubuntu-latest + if: | + ( !github.event.issue.pull_request ) + && contains(github.event.comment.body, '/promote ') + && contains(github.event.issue.body, '`webkitgtk-6-gnome-2204-sdk`') + && contains(github.event.*.labels.*.name, 'testing') + steps: + - name: ⬆️ Promote to stable + uses: snapcrafters/ci/promote-to-stable@main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + store-token: ${{ secrets.SNAP_STORE_STABLE }} + snapcraft-project-root: "webkitgtk-6-gnome-2204-sdk" diff --git a/.github/workflows/pull-request-content.yml b/.github/workflows/pull-request-content.yml new file mode 100644 index 0000000..8f8ace2 --- /dev/null +++ b/.github/workflows/pull-request-content.yml @@ -0,0 +1,21 @@ +name: Pull Request for webkitgtk-6-gnome-2204 + +on: + pull_request: + branches: ["**"] + paths: + - "webkitgtk-6-gnome-2204/**" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: 🧪 Build snap on amd64 + runs-on: ubuntu-latest + steps: + - name: 🧪 Build snap on amd64 + uses: snapcrafters/ci/test-snap-build@main + with: + snapcraft-project-root: webkitgtk-6-gnome-2204 diff --git a/.github/workflows/pull-request-sdk.yml b/.github/workflows/pull-request-sdk.yml new file mode 100644 index 0000000..6903068 --- /dev/null +++ b/.github/workflows/pull-request-sdk.yml @@ -0,0 +1,21 @@ +name: Pull Request for webkitgtk-6-gnome-2204-sdk + +on: + pull_request: + branches: ["**"] + paths: + - "webkitgtk-6-gnome-2204-sdk/**" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: 🧪 Build snap on amd64 + runs-on: ubuntu-latest + steps: + - name: 🧪 Build snap on amd64 + uses: snapcrafters/ci/test-snap-build@main + with: + snapcraft-project-root: webkitgtk-6-gnome-2204-sdk diff --git a/.github/workflows/release-content-to-candidate.yml b/.github/workflows/release-content-to-candidate.yml new file mode 100644 index 0000000..37530c2 --- /dev/null +++ b/.github/workflows/release-content-to-candidate.yml @@ -0,0 +1,69 @@ +name: Release webkitgtk-6-gnome-2204 to candidate + +on: + workflow_run: + workflows: ["Release webkitgtk-6-gnome-2204-sdk to candidate"] + types: [completed] + paths: + - "webkitgtk-6-gnome-2204/**" + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + issues: write + +jobs: + get-architectures: + if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} + name: 🖥 Get snap architectures + runs-on: ubuntu-latest + outputs: + architectures: ${{ steps.get-architectures.outputs.architectures }} + architectures-list: ${{ steps.get-architectures.outputs.architectures-list }} + steps: + - name: 🖥 Get snap architectures + id: get-architectures + uses: snapcrafters/ci/get-architectures@main + with: + snapcraft-project-root: "webkitgtk-6-gnome-2204" + + release-content: + name: 🚢 Release to latest/candidate + needs: get-architectures + runs-on: ubuntu-latest + environment: "2204 Branch" + strategy: + matrix: + architecture: ${{ fromJSON(needs.get-architectures.outputs.architectures-list) }} + steps: + - name: 🚢 Release to latest/candidate + id: build-amd64 + uses: snapcrafters/ci/release-to-candidate@main + with: + architecture: ${{ matrix.architecture }} + launchpad-token: ${{ secrets.LP_BUILD_SECRET }} + multi-snap: true + snapcraft-project-root: "webkitgtk-6-gnome-2204" + store-token: ${{ secrets.SNAP_STORE_CANDIDATE }} + repo-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + + call-for-testing: + if: ${{ github.event_name != 'workflow_dispatch' }} + name: 📣 Create call for testing + needs: [release-content, get-architectures] + environment: "2204 Branch" + runs-on: ubuntu-latest + outputs: + issue-number: ${{ steps.issue.outputs.issue-number }} + steps: + - name: 📣 Create call for testing + id: issue + uses: snapcrafters/ci/call-for-testing@main + with: + snapcraft-project-root: "webkitgtk-6-gnome-2204" + architectures: ${{ needs.get-architectures.outputs.architectures }} + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-sdk-to-candidate.yml b/.github/workflows/release-sdk-to-candidate.yml new file mode 100644 index 0000000..c483093 --- /dev/null +++ b/.github/workflows/release-sdk-to-candidate.yml @@ -0,0 +1,66 @@ +name: Release webkitgtk-6-gnome-2204-sdk to candidate + +on: + # Run the workflow each time new commits are pushed to the candidate branch. + push: + branches: ["2204"] + paths: + - "webkitgtk-6-gnome-2204-sdk/**" + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + issues: write + +jobs: + get-architectures: + name: 🖥 Get snap architectures + runs-on: ubuntu-latest + outputs: + architectures: ${{ steps.get-architectures.outputs.architectures }} + architectures-list: ${{ steps.get-architectures.outputs.architectures-list }} + steps: + - name: 🖥 Get snap architectures + id: get-architectures + uses: snapcrafters/ci/get-architectures@main + with: + snapcraft-project-root: "webkitgtk-6-gnome-2204-sdk" + + release-sdk: + name: 🚢 Release to latest/candidate + needs: get-architectures + runs-on: ubuntu-latest + environment: "2204 Branch" + strategy: + matrix: + architecture: ${{ fromJSON(needs.get-architectures.outputs.architectures-list) }} + steps: + - name: 🚢 Release to latest/candidate + uses: snapcrafters/ci/release-to-candidate@main + with: + architecture: ${{ matrix.architecture }} + launchpad-token: ${{ secrets.LP_BUILD_SECRET }} + multi-snap: true + snapcraft-project-root: "webkitgtk-6-gnome-2204-sdk" + store-token: ${{ secrets.SNAP_STORE_CANDIDATE }} + repo-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + + call-for-testing: + name: 📣 Create call for testing + needs: [release-sdk, get-architectures] + environment: "2204 Branch" + runs-on: ubuntu-latest + outputs: + issue-number: ${{ steps.issue.outputs.issue-number }} + steps: + - name: 📣 Create call for testing + id: issue + uses: snapcrafters/ci/call-for-testing@main + with: + snapcraft-project-root: "webkitgtk-6-gnome-2204-sdk" + architectures: ${{ needs.get-architectures.outputs.architectures }} + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/update-sdk-snap.yml b/.github/workflows/update-sdk-snap.yml new file mode 100644 index 0000000..4bd6ed1 --- /dev/null +++ b/.github/workflows/update-sdk-snap.yml @@ -0,0 +1,48 @@ +name: Update SDK Snap + +on: + # Runs at 10:00 UTC every day + schedule: + - cron: "0 10 * * *" + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + sync-sdk: + name: Sync version of the SDK snap with upstream + environment: "2204 Branch" + runs-on: ubuntu-latest + steps: + - name: Sync version with upstream + uses: snapcrafters/ci/sync-version@main + id: sync-sdk-version + with: + token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + branch: "2204" + snapcraft-project-root: "webkitgtk-6-gnome-2204-sdk" + update-script: | + WEBKITGTK_VERSION=$(git ls-remote --tags --sort='v:refname' https://github.com/WebKit/WebKit.git '*gtk*' | tail --lines=1 | cut --delimiter='/' --fields=3 | rev | cut -c 4- | rev) + yq -i ".parts.webkitgtk-6-gnome-2204-sdk.source-tag = \"$WEBKITGTK_VERSION\"" webkitgtk-6-gnome-2204-sdk/snapcraft.yaml + webkitgtk_version=$(echo $WEBKITGTK_VERSION | cut -c 11-) + yq -i ".version=\"$webkitgtk_version\"" webkitgtk-6-gnome-2204-sdk/snapcraft.yaml + + sync-content-version: + needs: sync-sdk + name: Sync version of the content snap with upstream + environment: "2204 Branch" + runs-on: ubuntu-latest + steps: + - name: Sync version with upstream + uses: snapcrafters/ci/sync-version@main + with: + token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + branch: "2204" + snapcraft-project-root: "webkitgtk-6-gnome-2204" + update-script: | + WEBKITGTK_VERSION=$(git ls-remote --tags --sort='v:refname' https://github.com/WebKit/WebKit.git '*gtk*' | tail --lines=1 | cut --delimiter='/' --fields=3 | rev | cut -c 4- | rev) + webkitgtk_version=$(echo $WEBKITGTK_VERSION | cut -c 11-) + yq -i ".version=\"$webkitgtk_version\"" webkitgtk-6-gnome-2204/snapcraft.yaml diff --git a/snap/snapcraft.yaml b/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml similarity index 99% rename from snap/snapcraft.yaml rename to webkitgtk-6-gnome-2204-sdk/snapcraft.yaml index 27253a3..d70a97e 100644 --- a/snap/snapcraft.yaml +++ b/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml @@ -12,11 +12,8 @@ parts: webkitgtk-6-gnome-2204-sdk: #source: https://webkitgtk.org/releases/webkitgtk-2.40.1.tar.xz source: https://github.com/WebKit/WebKit.git - source-tag: 'webkitgtk-2.44.0' + source-tag: "webkitgtk-2.44.0" source-depth: 1 -# ext:updatesnap -# version-format: -# format: 'webkitgtk-%M.%m.%R' plugin: cmake cmake-parameters: - -DPORT=GTK diff --git a/webkitgtk-6-gnome-2204/snapcraft.yaml b/webkitgtk-6-gnome-2204/snapcraft.yaml new file mode 100644 index 0000000..0031653 --- /dev/null +++ b/webkitgtk-6-gnome-2204/snapcraft.yaml @@ -0,0 +1,25 @@ +name: webkitgtk-6-gnome-2204 +base: core22 +version: "2.44.0" +summary: Web content engine for GTK +description: | + Content snap for Webkitgtk-6.0+ + +grade: stable +confinement: strict + +slots: + webkitgtk-6-gnome-2204: + interface: content + read: + - / + +parts: + webkitgtk: + plugin: nil + stage-snaps: [webkitgtk-6-gnome-2204-sdk/latest/candidate] + prime: + - -usr/include + - -usr/lib/*/pkgconfig + - -meta* + - -snap* From ee4453f446a0c31719ab84d80f990c21603460de Mon Sep 17 00:00:00 2001 From: soumyadghosh Date: Fri, 24 May 2024 21:08:27 +0530 Subject: [PATCH 5/6] sdk: fix version --- webkitgtk-6-gnome-2204-sdk/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml b/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml index d70a97e..41d59ff 100644 --- a/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml +++ b/webkitgtk-6-gnome-2204-sdk/snapcraft.yaml @@ -1,6 +1,6 @@ name: webkitgtk-6-gnome-2204-sdk base: core22 -version: git +version: "2.44.0" summary: Web content engine for GTK(SDK) description: | SDK snap for Webkitgtk-6.0+, used with gnome-42-2204 and core22. From 541e0a62fb0b0b8190c3fc1c913fc4b06e80edc6 Mon Sep 17 00:00:00 2001 From: soumyadghosh Date: Fri, 24 May 2024 21:09:28 +0530 Subject: [PATCH 6/6] ci: remove redundant workflow --- .github/workflows/update.yml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/workflows/update.yml diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml deleted file mode 100644 index 9b1bdd8..0000000 --- a/.github/workflows/update.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Push new tag update to stable branch - -on: - schedule: - # Daily for now - - cron: '9 7 * * *' - workflow_dispatch: - -permissions: write-all - -jobs: - update-snapcraft-yaml: - runs-on: ubuntu-latest - steps: - - name: Checkout this repo - uses: actions/checkout@v3 - - name: Run desktop-snaps action - uses: ubuntu/desktop-snaps@UDENG-961-optionally_take_user_as_input - with: - user: soumyaDghosh - token: ${{ secrets.GITHUB_TOKEN }} - repo: ${{ github.repository }}