diff --git a/.build-trigger.txt b/.build-trigger.txt deleted file mode 100644 index 7ec0e34..0000000 --- a/.build-trigger.txt +++ /dev/null @@ -1,20 +0,0 @@ -2018-07-16-09:48:50 -2018-08-07-09:01:15 -2018-08-16-11:10:44 -2018-08-31-08:12:32 -2018-09-17-08:07:57 -2018-09-20-06:37:41 -2018-09-20-10:23:19 -2018-09-21-06:44:42 -2018-10-09-07:40:53 -2018-11-01-09:49:25 -2018-12-07-10:44:12 -2019-02-02-10:09:08 -2019-05-23-08:14:29 -2019-06-20-08:37:04 -2020-08-28-09:47:14 -2020-09-03-09:51:36 -2020-09-18-09:50:36 -2020-12-04-09:35:58 -2020-12-09-10:24:33 -2021-02-26-08:47:58 diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..169e893 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates to GitHub Actions every month + interval: "monthly" diff --git a/snap/local/slots-declaration.json b/.github/slot-declaration.json similarity index 100% rename from snap/local/slots-declaration.json rename to .github/slot-declaration.json diff --git a/.github/workflows/build-prs.yml b/.github/workflows/build-prs.yml deleted file mode 100644 index 40ef8fd..0000000 --- a/.github/workflows/build-prs.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Build Pull Requests - -on: -- pull_request - -jobs: - snapcraft-build: - runs-on: ubuntu-latest - strategy: - matrix: - architecture: - - amd64 - # - armhf - - arm64 - steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - with: - image: tonistiigi/binfmt@sha256:df15403e06a03c2f461c1f7938b171fda34a5849eb63a70e2a2109ed5a778bde - - uses: diddlesnaps/snapcraft-multiarch-action@v1 - id: build - with: - architecture: ${{ matrix.architecture }} - - uses: diddlesnaps/snapcraft-review-tools-action@v1 - with: - snap: ${{ steps.build.outputs.snap }} - slots: ./snap/local/slots-declaration.json diff --git a/.github/workflows/promote-to-stable.yml b/.github/workflows/promote-to-stable.yml new file mode 100644 index 0000000..f38b063 --- /dev/null +++ b/.github/workflows/promote-to-stable.yml @@ -0,0 +1,25 @@ +name: Promote + +on: + issue_comment: + types: + - created + +permissions: + issues: write + +jobs: + promote: + name: โฌ๏ธ Promote to stable + environment: "Candidate Branch" + runs-on: ubuntu-latest + if: | + ( !github.event.issue.pull_request ) + && contains(github.event.comment.body, '/promote ') + && 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 }} diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 0000000..48d1faf --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,17 @@ +name: Pull Request + +on: + pull_request: + branches: [ "**" ] + +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 diff --git a/.github/workflows/release-to-candidate.yaml b/.github/workflows/release-to-candidate.yaml new file mode 100644 index 0000000..6409492 --- /dev/null +++ b/.github/workflows/release-to-candidate.yaml @@ -0,0 +1,72 @@ +name: Release + +on: + # Run the workflow each time new commits are pushed to the candidate branch. + push: + branches: [ "candidate" ] + 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 + + release: + name: ๐ข Release to latest/candidate + needs: get-architectures + runs-on: ubuntu-latest + environment: "Candidate 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 }} + repo-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + store-token: ${{ secrets.SNAP_STORE_CANDIDATE }} + + call-for-testing: + name: ๐ฃ Create call for testing + needs: [release, get-architectures] + environment: "Candidate 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: + architectures: ${{ needs.get-architectures.outputs.architectures }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + screenshots: + name: ๐ธ Gather screenshots + needs: call-for-testing + environment: "Candidate Branch" + runs-on: ubuntu-latest + steps: + - name: ๐ธ Gather screenshots + uses: snapcrafters/ci/get-screenshots@main + with: + issue-number: ${{ needs.call-for-testing.outputs.issue-number }} + github-token: ${{ secrets.GITHUB_TOKEN }} + screenshots-token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} diff --git a/.github/workflows/sync-version-with-upstream.yml b/.github/workflows/sync-version-with-upstream.yml new file mode 100644 index 0000000..a692c98 --- /dev/null +++ b/.github/workflows/sync-version-with-upstream.yml @@ -0,0 +1,27 @@ +name: Update + +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: + name: ๐ Sync version with upstream + environment: "Candidate Branch" + runs-on: ubuntu-latest + steps: + - name: ๐ Sync version with upstream + uses: snapcrafters/ci/sync-version@main + with: + token: ${{ secrets.SNAPCRAFTERS_BOT_COMMIT }} + update-script: | + VERSION=$(curl -s https://www.gimp.org/ | grep -Po "span id='ver'>\K[^<]+") + sed -i 's/^\(version: \).*$/\1'"$VERSION"'/' snap/snapcraft.yaml + diff --git a/.gitignore b/.gitignore index bf52e32..7c78cb5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,7 @@ prime __pycache__ *.pyc -.bzr \ No newline at end of file +.bzr + +# Snapcraft remote-build logs +gimp_*.txt \ No newline at end of file diff --git a/README.md b/README.md index 144e3ad..fcc239b 100644 --- a/README.md +++ b/README.md @@ -8,65 +8,80 @@ distributions.
## Install - sudo snap install gimp +```shell +snap install gimp +``` ([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) -![GIMP](screenshot.png?raw=true "GIMP") -Published for with :gift_heart: by Snapcrafters