1010
1111jobs :
1212 version-check :
13- if : (github.repository_owner == 'onosproject')
14- runs-on : ubuntu-latest
15- outputs :
16- valid_version : ${{ steps.version-check-step.outputs.valid_version }}
17- dev_version : ${{ steps.dev-version-check-step.outputs.dev_version }}
18- target_version : ${{ steps.get-target-version-step.outputs.target_version }}
19- steps :
20- - uses : actions/checkout@v4
21- with :
22- fetch-depth : 0
23-
24- - name : check version
25- id : version-check-step
26- run : |
27- make check-version; if [[ $? == 0 ]]; then echo "valid_version=true" >> $GITHUB_OUTPUT; else echo "valid_version=false" >> $GITHUB_OUTPUT; fi
28- cat $GITHUB_OUTPUT
29-
30- - name : check dev version
31- id : dev-version-check-step
32- run : |
33- f_dev=$(./build/bin/version_check.sh is_dev)
34- if [[ $f_dev == "true" ]]; then echo "dev_version=true" >> $GITHUB_OUTPUT; else echo "dev_version=false" >> $GITHUB_OUTPUT; fi
35- cat $GITHUB_OUTPUT
13+ uses : onosproject/.github/.github/workflows/go-version-check.yml@main
3614
37- - name : get target version
38- id : get-target-version-step
39- run : |
40- echo "target_version=$(cat VERSION)" >> $GITHUB_OUTPUT
41- cat $GITHUB_OUTPUT
42-
43- tag_versions :
15+ tag-versions :
4416 runs-on : ubuntu-latest
4517 needs : version-check
46- if : (github.repository_owner == 'onosproject') && ( needs.version-check.outputs.valid_version == 'true') && (needs.version-check.outputs. dev_version == 'false')
18+ if : needs.version-check.outputs.dev_version == 'false'
4719 steps :
4820 - uses : actions/checkout@v4
4921 with :
5022 fetch-depth : 0
51- - name : create release using REST API
52- run : |
53- curl -L \
54- -X POST \
55- -H "Accept: application/vnd.github+json" \
56- -H "Authorization: Bearer ${{ secrets.GH_ONOS_PAT }}" \
57- -H "X-GitHub-Api-Version: 2022-11-28" \
58- https://api.github.com/repos/${{ github.repository }}/releases \
59- -d '{
60- "tag_name": "v${{ needs.version-check.outputs.target_version }}",
61- "target_commitish": "${{ github.event.repository.default_branch }}",
62- "name": "v${{ needs.version-check.outputs.target_version }}",
63- "draft": false,
64- "prerelease": false,
65- "generate_release_notes": true
66- }'
23+
24+ - name : Create Github release
25+ uses : onosproject/.github/.github/actions/create-github-release-action@main
26+ with :
27+ version : v${{ needs.version-check.outputs.target_version }}
28+ env :
29+ GH_TOKEN : ${{ secrets.GH_ONOS_PAT }}
6730
6831 publish-images :
69- runs-on : ubuntu-latest
7032 needs : version-check
71- if : (github.repository_owner == 'onosproject') && (needs.version-check.outputs.valid_version == 'true')
33+ if : needs.version-check.outputs.dev_version == 'false'
34+ uses : onosproject/.github/.github/workflows/release-image.yml@main
7235 env :
73- REGISTRY : docker.io
74- DOCKER_REPOSITORY : onosproject/
75- steps :
76- - uses : actions/checkout@v4
77- with :
78- fetch-depth : 0
79- - uses : actions/setup-go@v5
80- with :
81- go-version-file : ' go.mod'
82- - uses : docker/login-action@v3.2.0
83- with :
84- registry : ${{ env.REGISTRY }}
85- username : ${{ secrets.DOCKER_USERNAME }}
86- password : ${{ secrets.DOCKER_PASSWORD }}
87- DOCKER_USERNAME : ${{ secrets.DOCKER_USERNAME }}
88- DOCKER_PASSWORD : ${{ secrets.DOCKER_PASSWORD }}
89- - name : Build and push Docker image with tag latest
90- env :
91- DOCKER_TAG : latest
92- run : |
93- ONOS_CONFIG_VERSION=${{ env.DOCKER_TAG }} make docker-build
94- ONOS_CONFIG_VERSION=${{ env.DOCKER_TAG }} make docker-push
95- - name : Build and push Docker image with tag
96- if : needs.version-check.outputs.dev_version == 'false'
97- env :
98- DOCKER_TAG : v${{ needs.version-check.outputs.target_version }}
99- run : |
100- ONOS_CONFIG_VERSION=${{ env.DOCKER_TAG }} make docker-build
101- ONOS_CONFIG_VERSION=${{ env.DOCKER_TAG }} make docker-push
36+ ONOS_CONFIG_VERSION : latest
10237
10338 bump-up-version :
104- runs-on : ubuntu-latest
10539 needs : version-check
106- if : (github.repository_owner == 'onosproject') && (needs.version-check.outputs.valid_version == 'true') && (needs.version-check.outputs.dev_version == 'false')
107- steps :
108- - uses : actions/checkout@v4
109- with :
110- fetch-depth : 0
111- - name : increment version
112- run : |
113- IFS='.' read -r major minor patch <<< ${{ needs.version-check.outputs.target_version }}
114- patch_update=$((patch+1))
115- NEW_VERSION="$major.$minor.$patch_update-dev"
116- echo $NEW_VERSION > VERSION
117- echo "Updated version: $NEW_VERSION"
118-
119- - name : Create Pull Request
120- uses : peter-evans/create-pull-request@v6
121- with :
122- token : ${{ secrets.GH_ONOS_PAT }}
123- commit-message : Update version
124- committer : github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
125- author : ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>
126- signoff : true
127- branch : version-update
128- delete-branch : true
129- title : Update version
130- body : |
131- Update VERSION file
132- add-paths : |
133- VERSION
40+ if : needs.version-check.outputs.dev_version == 'false'
41+ uses : onosproject/.github/.github/workflows/bump-version.yml@main
42+ secrets : inherit
43+ with :
44+ version : ${{ needs.version-check.outputs.target_version }}
0 commit comments