softprops / action-gh-release

📦 :octocat: GitHub Action for creating GitHub Releases
MIT License
3.85k stars 434 forks source link

files option does not respect working-directory setting #458

Open jerryc05 opened 1 month ago

jerryc05 commented 1 month ago

files option does not seem to respect jobs.<job_name>.defaults.run.working-directory from github. I have to prepend working directory path to every file under files for gh actions to find the correct file.

softprops commented 1 month ago

Can you share a link to your workflow? There's nothing in particular we do to manage your working directories. I believe the configuration option you mentioned simply switches the working directory before running the action rather than providing the job steps' working-directory input

jerryc05 commented 1 month ago

here is an excerpt, hope this helps:


jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./frontend

    steps:
      - uses: actions/checkout@v4

      - uses: pnpm/action-setup@v4
        with:
          version: latest
          run_install: false

      - shell: bash
        run: |
          echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

      - uses: actions/cache@v4
        with:
          path: ${{ env.STORE_PATH }}
          key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
          restore-keys: |
            ${{ runner.os }}-pnpm-store-

      - run: pnpm i

      - name: Build
        run: pnpm run dist

      - name: Deploy to GitHub release
        uses: softprops/action-gh-release@v2
        with:
          files: frontend/dist/*.zip
          tag_name: zipped_dist

where pnpm run dist command packages everything into a zip file.

If this workflow looks good to you, I can try to provide a minimal reproducible repo.

softprops commented 1 month ago

I think I see the issue

the following settings the working directory for each step. think of it like the PWD path when executing a step

    defaults:
      run:
        working-directory: ./frontend

In your files declaration you provide the patternfrontend/dist/*.zip which will be resolved while you are in the frontend directory which would assume a path more like frontend/frontend/dist/*.zip because its relative to the working-directory for the step.

      - name: Deploy to GitHub release
        uses: softprops/action-gh-release@v2
        with:
          files: frontend/dist/*.zip

Could you try and remove the frontend prefix from that step? Since the working-directory is frontend that would then resolve to something like frontend/dist/*.zip

      - name: Deploy to GitHub release
        uses: softprops/action-gh-release@v2
        with:
          files: dist/*.zip
jerryc05 commented 1 month ago

afaik,

        with:
          files: frontend/dist/*.zip

is working (current working version of my workflow), but

        with:
          files: dist/*.zip

does not work (cannot find anything matching *.zip) (my initial not-working version)

softprops commented 1 month ago

What happens when you remove the frontend part of the path after setting the working directory to frontend?

jerryc05 commented 1 month ago

IMG_0627