Skip to content

Commit

Permalink
Configure upstream sync
Browse files Browse the repository at this point in the history
  • Loading branch information
ales-tsurko committed May 2, 2024
1 parent 38eec63 commit 88f1870
Show file tree
Hide file tree
Showing 6 changed files with 235 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/auto-approve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: bot

on:
pull_request:
types: [labeled]

jobs:
approve:
if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && (!github.event.pull_request || github.event.pull_request.head.repo.full_name == github.repository)"
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
with:
authors: jacogr
labels: -auto
token: ${{ secrets.GH_PAT_BOT }}
16 changes: 16 additions & 0 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: bot

on:
pull_request:
types: [labeled]

jobs:
merge:
runs-on: ubuntu-latest
steps:
- uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029
with:
checks: pr (build:code),pr (build:i18n),pr (build:electron),pr (lint),pr (test)
labels: -auto
strategy: squash
token: ${{ secrets.GH_PAT_BOT }}
32 changes: 32 additions & 0 deletions .github/workflows/chain-endpoints.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Chain endpoints
on:
schedule:
# twice daily (mornings/afternoons, the latter being busy)
# - cron: '50 0/12 * * *'
# once daily (early mornings, 02:50 GMT, generally not busy)
- cron: '50 2 * * *'

jobs:
endpoints:
if: github.repository == 'polkadot-js/apps'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: check
env:
CI_LOG: 123
run: |
yarn install --immutable | grep -v 'YN0013'
yarn ci:chainEndpoints
- name: issue
if: ${{ failure() }}
uses: JasonEtco/create-an-issue@e27dddc79c92bc6e4562f268fffa5ed752639abd
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT_BOT }}
with:
filename: .github/chain-endpoints.md
update_existing: true
23 changes: 23 additions & 0 deletions .github/workflows/lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: 'Lock Threads'

on:
schedule:
- cron: '15 2/3 * * *'

jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836
with:
github-token: ${{ secrets.GH_PAT_BOT }}
issue-inactive-days: '7'
issue-comment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue
if you think you have a related problem or query.
pr-inactive-days: '2'
pr-comment: >
This pull request has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
95 changes: 95 additions & 0 deletions .github/workflows/push-master.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Master
on:
push:
branches:
- master

jobs:
# publish to gh-pages (& IPFS when a release is detected)
www:
if: "! startsWith(github.event.head_commit.message, '[CI Skip]')"
strategy:
matrix:
step: ['build:release:www']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT_BOT }}
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: ${{ matrix.step }}
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CRUST_SEEDS: ${{ secrets.CRUST_SEEDS }}
GH_PAGES_SRC: packages/apps/build
GH_PAT: ${{ secrets.GH_PAT_BOT }}
GH_RELEASE_GITHUB_API_TOKEN: ${{ secrets.GH_PAT_BOT }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }}
PINATA_SECRET_KEY: ${{ secrets.PINATA_SECRET_KEY }}
run: |
yarn install --immutable
yarn ${{ matrix.step }}
# only run on "CI skip", i.e. when the actual version has been bumped to release/stable
docker:
if: "startsWith(github.event.head_commit.message, '[CI Skip] release/stable')"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: docker
env:
DOCKER_PASS: ${{ secrets.DOCKER_PASS }}
run: |
./docker/build.sh
# only run on "CI skip", i.e. when the actual version has been bumped to release/stable
electron:
if: "startsWith(github.event.head_commit.message, '[CI Skip] release/stable')"
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.GH_PAT_BOT }}
- uses: actions/setup-node@v3
with:
node-version: 'lts/*'
- name: Prepare for app notarization (macOS)
if: startsWith(matrix.os, 'macos')
# Import Apple API key for app notarization on macOS
run: |
mkdir -p ~/private_keys/
echo '${{ secrets.API_KEY }}' > ~/private_keys/AuthKey_${{ secrets.API_KEY_ID }}.p8
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
with:
# Base64-encoded code signing certificate for macOS
mac_certs: ${{ secrets.MAC_CERTS }}
# Password for decrypting `mac_certs`
mac_certs_password: ${{ secrets.MAC_CERTS_PASSWORD }}
# Base64-encoded code signing certificate for Windows
windows_certs: ${{ secrets.WINDOWS_CERTS }}
# Password for decrypting `windows_certs`
windows_certs_password: ${{ secrets.WINDOWS_CERTS_PASSWORD }}
# GitHub token, automatically provided to the action
# (No need to define this secret in the repo settings)
github_token: ${{ secrets.GITHUB_TOKEN }}
args: '--project packages/apps-electron'
build_script_name: build:release:electron
# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
env:
# macOS notarization API key
API_KEY_ID: ${{ secrets.API_KEY_ID }}
API_KEY_ISSUER_ID: ${{ secrets.API_KEY_ISSUER_ID }}
53 changes: 53 additions & 0 deletions .github/workflows/sync-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: 'Upstream Sync'

on:
pull_request:

schedule:
- cron: '0 7 * * 1'
# scheduled at 07:00 every Monday

workflow_dispatch: # click the button on Github repo!
inputs:
sync_test_mode: # Adds a boolean option that appears during manual workflow run for easy test mode config
description: 'Fork Sync Test Mode'
type: boolean
default: false

jobs:
sync_latest_from_upstream:
runs-on: ubuntu-latest
name: Sync latest commits from upstream repo

steps:
- name: Checkout target repo
uses: actions/checkout@v3
with:
# optional: set the branch to checkout,
ref: upstream
token: ${{ secrets.GITHUB_TOKEN }}
# persist-credentials: false

- name: Sync upstream changes
id: sync
uses: aormsby/[email protected]
with:
target_sync_branch: upstream
# target_repo_token: ${{ secrets.GITHUB_TOKEN }}
upstream_sync_branch: master
upstream_sync_repo: polkadot-js/apps

# Set test_mode true during manual dispatch to run tests instead of the true action!!
test_mode: ${{ inputs.sync_test_mode }}

# Display a sample message based on the sync output var 'has_new_commits'
- name: New commits found
if: steps.sync.outputs.has_new_commits == 'true'
run: echo "New commits were found to sync."

- name: No new commits
if: steps.sync.outputs.has_new_commits == 'false'
run: echo "There were no new commits."

- name: Show value of 'has_new_commits'
run: echo ${{ steps.sync.outputs.has_new_commits }}

0 comments on commit 88f1870

Please sign in to comment.