# this is a shared workflow, not called as a top level workflow name: Update OBS Service Package permissions: contents: read on: workflow_call: secrets: OBS_PASSWORD: required: true env: obs_project: ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }} jobs: update_service: # do not run in forks which do not set the OBS_PROJECTS and OBS_USER variables, # or the mapping for the current branch is missing # (BTW, jobs.FOO.if cannot see env.*) if: vars.OBS_PROJECTS && fromJson(vars.OBS_PROJECTS)[github.ref_name] && vars.OBS_USER runs-on: ubuntu-latest container: image: registry.opensuse.org/opensuse/tumbleweed:latest env: # to avoid Ruby UTF-8 errors (the default is "POSIX") LC_ALL: en_US.UTF-8 steps: - 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 - name: Install tools run: zypper --non-interactive install --no-recommends bzip2 diffutils git obs-service-format_spec_file osc ruby 'rubygem(gem2rpm)' 'rubygem(yast-rake)' - name: Git Checkout (full history) if: ${{ github.ref_type != 'tag' }} uses: actions/checkout@v6 with: # fetch all history, we need to find the latest tag and offset for the version number fetch-depth: 0 - name: Configure git run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - name: Git Checkout uses: actions/checkout@v6 with: # fetch all history with tags, we need to find the latest version tag fetch-depth: 0 fetch-tags: true - name: Configure osc run: .github/workflows/configure_osc.sh env: OBS_USER: ${{ vars.OBS_USER }} OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }} - name: Commit the rubygem-agama-yast package to ${{ env.obs_project }} run: rake osc:commit working-directory: ./service env: # do not build the package with "osc", it takes long time # and does not provide much value SKIP_OSC_BUILD: 1 OBS_PROJECT: ${{ env.obs_project }}