diff --git a/.github/workflows/obs-staging-autoinstallation.yml b/.github/workflows/obs-staging-autoinstallation.yml index e43c9ba15..6888946a1 100644 --- a/.github/workflows/obs-staging-autoinstallation.yml +++ b/.github/workflows/obs-staging-autoinstallation.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when an autoinstallation source is changed - autoinstallation/** diff --git a/.github/workflows/obs-staging-integration-tests.yml b/.github/workflows/obs-staging-integration-tests.yml index 85cdcf880..63c26e246 100644 --- a/.github/workflows/obs-staging-integration-tests.yml +++ b/.github/workflows/obs-staging-integration-tests.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a source file is changed - puppeteer/** diff --git a/.github/workflows/obs-staging-live.yml b/.github/workflows/obs-staging-live.yml index 02b530129..43d9feb8a 100644 --- a/.github/workflows/obs-staging-live.yml +++ b/.github/workflows/obs-staging-live.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a live ISO source is changed - live/** diff --git a/.github/workflows/obs-staging-products.yml b/.github/workflows/obs-staging-products.yml index 57cca558b..ea54b7739 100644 --- a/.github/workflows/obs-staging-products.yml +++ b/.github/workflows/obs-staging-products.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a Rust source is changed - products.d/** diff --git a/.github/workflows/obs-staging-rust.yml b/.github/workflows/obs-staging-rust.yml index e14ca8c20..d1c7a80f6 100644 --- a/.github/workflows/obs-staging-rust.yml +++ b/.github/workflows/obs-staging-rust.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a Rust source is changed - rust/** diff --git a/.github/workflows/obs-staging-service.yml b/.github/workflows/obs-staging-service.yml index c9d7cc7c0..e17e56006 100644 --- a/.github/workflows/obs-staging-service.yml +++ b/.github/workflows/obs-staging-service.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a service source is changed - service/** diff --git a/.github/workflows/obs-staging-shared.yml b/.github/workflows/obs-staging-shared.yml index 00d5b3c8e..fd250b922 100644 --- a/.github/workflows/obs-staging-shared.yml +++ b/.github/workflows/obs-staging-shared.yml @@ -28,8 +28,9 @@ on: jobs: update_staging_package: - # do not run in forks which do not set the OBS_PROJECT variable - if: vars.OBS_PROJECT != '' + # do not run in forks which do not set the OBS_PROJECT variable, + # for the "release" branch or a git tag use the OBS_PROJECT_RELEASE variable + if: vars.OBS_PROJECT != '' || ((github.ref_name == 'release' || github.ref_type == 'tag') && vars.OBS_PROJECT_RELEASE != '') runs-on: ubuntu-latest @@ -37,6 +38,15 @@ jobs: image: registry.opensuse.org/opensuse/tumbleweed:latest steps: + - name: Select OBS project + id: obs_project + run: |- + if [ "${{ github.ref_name }}" = "release" -o "${{ github.ref_type }}"" == "tag"]; then + echo "OBS_PROJECT=${{ vars.OBS_PROJECT_RELEASE }}" >> "$GITHUB_OUTPUT" + else + echo "OBS_PROJECT=${{ vars.OBS_PROJECT }}" >> "$GITHUB_OUTPUT" + fi + - name: Configure and refresh repositories # disable unused repositories to have a faster refresh run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && zypper ref @@ -64,19 +74,19 @@ jobs: OBS_USER: ${{ secrets.OBS_USER }} OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }} - - name: Checkout ${{ vars.OBS_PROJECT }} ${{ inputs.package_name }} - run: osc co ${{ vars.OBS_PROJECT }} ${{ inputs.package_name }} + - name: Checkout ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }} + run: osc co ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }} - name: Configure git run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Update service revision - # only when a tag has been pushed - if: ${{ github.ref_type == 'tag' }} + # only when a tag has been pushed, or "release" branch updated + if: github.ref_type == 'tag' || github.ref_name == 'release' run: |- echo "Updating revision to ${{ github.ref_name }}" sed -i -e 's#.*#${{ github.ref_name }}#' _service - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Copy optional service file # patch the URL in the file so it works also from forks, forks also by @@ -85,30 +95,30 @@ jobs: if: inputs.service_file != '' run: | sed -e 's#.*#https://github.com/${{ github.repository }}.git#' ${{ inputs.service_file }} > ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }}/_service - if [ -z "$(git tag -l)" ]; then sed -i -e 's#.*##' ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }}/_service; fi + if [ -z "$(git tag -l)" ]; then sed -i -e 's#.*##' ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}/_service; fi - name: Run services run: osc service manualrun - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Cleanup # sometimes the "osc service" run does not cleanup properly all # downloaded NPM package tarballs and they are accidentally added to the # OBS package, so delete any TGZ files present run: rm -vf *.tgz - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Check status run: osc addremove && osc diff && osc status - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - - name: Commit ${{ inputs.package_name }} to ${{ vars.OBS_PROJECT }} + - name: Commit ${{ inputs.package_name }} to ${{ steps.obs_project.outputs.OBS_PROJECT }} run: |- osc commit -m "Updated to $(sed -e '/^version:/!d' -e 's/version: *\(.*\)/\1/' agama.obsinfo) ($(sed -e '/^commit:/!d' -e 's/commit: *\(.*\)/\1/' agama.obsinfo))" - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} - name: Submit the package # only when a tag has been pushed - if: ${{ github.ref_type == 'tag' }} + if: github.ref_type == 'tag' run: osc sr --yes -m "Releasing version ${{ github.ref_name }}" - working-directory: ./${{ vars.OBS_PROJECT }}/${{ inputs.package_name }} + working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }} diff --git a/.github/workflows/obs-staging-web.yml b/.github/workflows/obs-staging-web.yml index bef124e2f..6480cfda4 100644 --- a/.github/workflows/obs-staging-web.yml +++ b/.github/workflows/obs-staging-web.yml @@ -5,6 +5,7 @@ on: push: branches: - master + - release paths: # run only when a web frontend source is changed - web/** diff --git a/autoinstallation/package/_service b/autoinstallation/package/_service index 1a4f3d586..264b36d00 100644 --- a/autoinstallation/package/_service +++ b/autoinstallation/package/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master autoinstallation enable diff --git a/products.d/_service b/products.d/_service index cd3b780e4..881ad3ee3 100644 --- a/products.d/_service +++ b/products.d/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master products.d enable diff --git a/puppeteer/package/_service b/puppeteer/package/_service index 440c0e63d..cec02a4b3 100644 --- a/puppeteer/package/_service +++ b/puppeteer/package/_service @@ -2,7 +2,9 @@ @PARENT_TAG@+@TAG_OFFSET@ v(.*) - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git git master puppeteer diff --git a/rust/package/_service b/rust/package/_service index 597f32264..0c4798cd4 100644 --- a/rust/package/_service +++ b/rust/package/_service @@ -1,9 +1,13 @@ - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git @PARENT_TAG@+@TAG_OFFSET@ v(.*) git + master rust enable diff --git a/web/package/_service b/web/package/_service index a1ca8be13..0e4837cff 100644 --- a/web/package/_service +++ b/web/package/_service @@ -2,8 +2,12 @@ @PARENT_TAG@+@TAG_OFFSET@ v(.*) - https://github.com/openSUSE/agama.git + + https://github.com/agama-project/agama.git git + master web enable