File tree Expand file tree Collapse file tree 5 files changed +152
-0
lines changed Expand file tree Collapse file tree 5 files changed +152
-0
lines changed Original file line number Diff line number Diff line change 1+ name : build
2+ on :
3+ push :
4+ branches : [main, release/**]
5+
6+ jobs :
7+ dist :
8+ name : Create Distribution
9+ runs-on : ubuntu-latest
10+ timeout-minutes : 10
11+ steps :
12+ - uses : actions/checkout@v4
13+ - uses : actions/setup-python@v4
14+ with :
15+ python-version : 3.11
16+ - name : " Prepare Artifacts"
17+ run : |
18+ pip install build
19+ python -m build
20+ - uses : actions/upload-artifact@v4
21+ with :
22+ name : ${{ github.sha }}
23+ path : dist/*
Original file line number Diff line number Diff line change 1+ # bootstrap is integration coverage for sentry which is kind of a special case
2+ # this is integration testing for a more generic repo
3+
4+ name : integration
5+ on :
6+ push :
7+ branches :
8+ - main
9+ pull_request :
10+
11+ defaults :
12+ run :
13+ # enable xtrace by default
14+ # use a login shell, to enable ~/.profile
15+ # the default default is:
16+ # bash --noprofile --norc -eo pipefail {0}
17+ shell : bash --login -eo pipefail -x {0}
18+ env :
19+ SHELL : /bin/bash
20+ PYTHONUNBUFFERED : " 1"
21+ DEBUG : " 1"
22+
23+ jobs :
24+ bootstrap :
25+ runs-on : ubuntu-22.04
26+ timeout-minutes : 20
27+ env :
28+ SENTRY_BRANCH : master
29+ SNTY_DEVENV_BRANCH :
30+ " ${{ github.event.pull_request && github.head_ref || github.ref_name }}"
31+ steps :
32+ - uses : actions/checkout@v4
33+ - name : install devenv
34+ run : |
35+ set -u
36+ : should be able to be run from anywhere:
37+ mv install-devenv.sh /tmp
38+ cd /tmp
39+ ./install-devenv.sh
40+
41+ - name : sync
42+ run : |
43+ coderoot="${PWD}/ci/integration"
44+
45+ mkdir -p ~/.config/sentry-devenv
46+ cat <<EOF > ~/.config/sentry-devenv/config.ini
47+ [devenv]
48+ coderoot = ${coderoot}
49+ EOF
50+
51+ reporoot="${coderoot}/repo"
52+ cd "$reporoot"
53+ CI_DEVENV_INTEGRATION_FAKE_REPOROOT="$reporoot" devenv sync
Original file line number Diff line number Diff line change 1+ name : lint
2+ on :
3+ push :
4+ branches :
5+ - main
6+ pull_request :
7+
8+ defaults :
9+ run :
10+ # the default default is:
11+ # bash --noprofile --norc -eo pipefail {0}
12+ shell : bash --noprofile --norc -eo pipefail -ux {0}
13+
14+ jobs :
15+ lint :
16+ runs-on : ubuntu-latest
17+ steps :
18+ - uses : actions/checkout@v3
19+ - uses : actions/setup-python@v4
20+ with :
21+ python-version : 3.11
22+ -
uses :
pre-commit/[email protected]
Original file line number Diff line number Diff line change 1+ name : Release
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ version :
7+ description : Version to release
8+ required : true
9+ force :
10+ description : Force a release even when there are release-blockers (optional)
11+ required : false
12+ jobs :
13+ release :
14+ runs-on : ubuntu-latest
15+ name : " Release a new version"
16+ steps :
17+ - name : Get auth token
18+ id : token
19+ uses : actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0
20+ with :
21+ app-id : ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
22+ private-key : ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
23+ - uses : actions/checkout@v4
24+ with :
25+ token : ${{ steps.token.outputs.token }}
26+ fetch-depth : 0
27+ - name : Prepare release
28+ uses : getsentry/action-prepare-release@v1
29+ env :
30+ GITHUB_TOKEN : ${{ steps.token.outputs.token }}
31+ with :
32+ version : ${{ github.event.inputs.version }}
33+ force : ${{ github.event.inputs.force }}
Original file line number Diff line number Diff line change 1+ name : test
2+ on :
3+ push :
4+ branches :
5+ - main
6+ pull_request :
7+ concurrency :
8+ group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
9+ cancel-in-progress : true
10+ jobs :
11+ test :
12+ runs-on : ubuntu-latest
13+ steps :
14+ - uses : actions/checkout@v4
15+ - uses : actions/setup-python@v5
16+ with :
17+ python-version : |
18+ 3.11
19+ 3.12
20+ - run : pip install tox
21+ - run : tox
You can’t perform that action at this time.
0 commit comments