forked from SonarSource/sonar-dotnet
-
Notifications
You must be signed in to change notification settings - Fork 0
83 lines (79 loc) · 2.88 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: sonar-release
# This workflow is triggered when publishing a new github release
on:
release:
types:
- published
env:
PYTHONUNBUFFERED: 1
jobs:
sonar_release:
runs-on: ubuntu-latest
name: Start release process
steps:
- name: LT release
id: lt_release
with:
publish_to_binaries: true
distribute: true
attach_artifacts_to_github_release: true
run_rules_cov: true
slack_channel: team-lang-dotnet
env:
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
BURGRX_USER: ${{ secrets.BURGRX_USER }}
BURGRX_PASSWORD: ${{ secrets.BURGRX_PASSWORD }}
CIRRUS_TOKEN: ${{ secrets.CIRRUS_TOKEN }}
PATH_PREFIX: ${{ secrets.BINARIES_PATH_PREFIX }}
GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
RELEASE_SSH_USER: ${{ secrets.RELEASE_SSH_USER }}
RELEASE_SSH_KEY: ${{ secrets.RELEASE_SSH_KEY }}
SLACK_API_TOKEN: ${{secrets.SLACK_API_TOKEN }}
# Put your action repo here
uses: SonarSource/gh-action_release/main@v3
- name: Check outputs
if: always()
run: |
echo "${{ steps.lt_release.outputs.releasability }}"
echo "${{ steps.lt_release.outputs.release }}"
maven-central-sync:
runs-on: ubuntu-latest
needs:
- sonar_release
steps:
- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@v2
- name: JFrog config
run: jfrog rt config repox --url https://repox.jfrog.io/artifactory/ --apikey $ARTIFACTORY_API_KEY --basic-auth-only
env:
ARTIFACTORY_API_KEY: ${{ secrets.ARTIFACTORY_API_KEY }}
- name: Get the version
id: get_version
run: |
IFS=. read major minor patch build <<< "${{ github.event.release.tag_name }}"
echo ::set-output name=build::"${build}"
- name: Create local repository directory
id: local_repo
run: echo ::set-output name=dir::"$(mktemp -d repo.XXXXXXXX)"
- name: Download Artifacts
uses: SonarSource/gh-action_release/download-build@v3
with:
build-number: ${{ steps.get_version.outputs.build }}
local-repo-dir: ${{ steps.local_repo.outputs.dir }}
- name: Maven Central Sync
id: maven-central-sync
continue-on-error: true
uses: SonarSource/gh-action_release/maven-central-sync@v3
with:
local-repo-dir: ${{ steps.local_repo.outputs.dir }}
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
- name: Notify on failure
if: ${{ failure() || steps.maven-central-sync.outcome == 'failure' }}
uses: 8398a7/action-slack@v3
with:
status: failure
fields: repo,author,eventName
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_BUILD_WEBHOOK }}