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
15+ get-modules :
16+ uses : onosproject/.github/.github/workflows/go-get-modules.yml@main
17+ with :
18+ go-dir : servicemodels
4219
43- tag_versions :
20+ tag-versions :
4421 runs-on : ubuntu-latest
45- needs : version-check
46- if : (github.repository_owner == 'onosproject') && (needs.version-check.outputs.valid_version == 'true') && (needs.version-check.outputs.dev_version == 'false')
22+ needs : [version-check, get-modules]
23+ if : needs.version-check.outputs.dev_version == 'false'
24+ strategy :
25+ matrix :
26+ module : ${{ fromJson(needs.get-modules.outputs.modules) }}
4727 steps :
4828 - uses : actions/checkout@v4
4929 with :
5030 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- }'
31+
32+ - name : Create Github release
33+ uses : onosproject/.github/.github/actions/create-github-release-action@main
34+ with :
35+ version : ${{ matrix.module }}/v${{ needs.version-check.outputs.target_version }}
36+ env :
37+ GH_TOKEN : ${{ secrets.GH_ONOS_PAT }}
6738
6839 publish-images :
69- runs-on : ubuntu-latest
7040 needs : version-check
71- if : (github.repository_owner == 'onosproject') && (needs.version-check.outputs.valid_version == 'true')
41+ if : needs.version-check.outputs.dev_version == 'false'
42+ uses : onosproject/.github/.github/workflows/release-image.yml@main
7243 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_OPERATOR_VERSION=${{ env.DOCKER_TAG }} make docker-build
94- ONOS_OPERATOR_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_OPERATOR_VERSION=${{ env.DOCKER_TAG }} make docker-build
101- ONOS_OPERATOR_VERSION=${{ env.DOCKER_TAG }} make docker-push
44+ ONOS_OPERATOR_VERSION : latest
10245
10346 bump-up-version :
104- runs-on : ubuntu-latest
10547 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
48+ if : needs.version-check.outputs.dev_version == 'false'
49+ uses : onosproject/.github/.github/workflows/bump-version.yml@main
50+ secrets : inherit
51+ with :
52+ version : ${{ needs.version-check.outputs.target_version }}
0 commit comments