name: publish packages using Open Build Service

on:
  push:
    branches: [ "master" ]
env:
  CARGO_TERM_COLOR: always

jobs:
  publish-obs:
    if: github.repository == 'SnowflakePowered/librashader'
    runs-on: ubuntu-latest
    container: fedora:39
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
      - name: Install OSC and dependencies
        env:
          OBS_CONFIG: ${{ secrets.OBS_CONFIG }}
        run: |
          sudo dnf install -y osc obs-service-obs_scm obs-service-cargo_vendor cargo python3-zstandard
          mkdir -p ~/.config/osc
          echo "$OBS_CONFIG" > ~/.config/osc/oscrc
      - name: Checkout Open Build Service repository
        run: |
          osc co home:chyyran:librashader/librashader
      - name: Copy spec from repository
        run: |
          cp -r ./pkg/obs/ home:chyyran:librashader/librashader/
          sed -r -i 's/(<param name="revision">)(.+)(<\/param>)/<param name="revision">${{ github.sha }}<\/param>/g' home:chyyran:librashader/librashader/_service
      - name: Vendor sources for Open Build Service
        run: |
          cd home:chyyran:librashader/librashader/
          rm *.obscpio
          osc service mr
      - name: Commit source artifacts to Open Build Service
        run: |
          cd home:chyyran:librashader/librashader/
          osc ar
          osc commit -f -m "git-rev ${{ github.sha }}"