{"id":30302540,"url":"https://github.com/soderlind/zip-test","last_synced_at":"2025-08-17T05:09:40.356Z","repository":{"id":272843702,"uuid":"917696361","full_name":"soderlind/zip-test","owner":"soderlind","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-17T18:03:16.000Z","size":130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-16T06:58:32.564Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soderlind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-16T13:32:47.000Z","updated_at":"2025-01-17T18:03:17.000Z","dependencies_parsed_at":"2025-01-17T00:33:10.727Z","dependency_job_id":null,"html_url":"https://github.com/soderlind/zip-test","commit_stats":null,"previous_names":["soderlind/zip-test"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/soderlind/zip-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soderlind%2Fzip-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soderlind%2Fzip-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soderlind%2Fzip-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soderlind%2Fzip-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soderlind","download_url":"https://codeload.github.com/soderlind/zip-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soderlind%2Fzip-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270807934,"owners_count":24649346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-17T05:09:39.743Z","updated_at":"2025-08-17T05:09:40.327Z","avatar_url":"https://github.com/soderlind.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create file attestation\n\nThis repository contains content used to test the [manually-build-zip.yml](.github/workflows/manually-build-zip.yml) GitHub Actions workflow. The workflow generates a zip file with the repository’s content, uploads it to the [release page](https://github.com/soderlind/zip-test/releases/tag/2.0.0), and creates an [attestation](https://github.com/soderlind/zip-test/attestations/4475606) for the zip file.\n\n## Actions performed by the workflow:\n\n- Create a zip file with the repository’s content ([thedoctor0/zip-release](https://github.com/thedoctor0/zip-release?tab=readme-ov-file#zip-release-))\n  ```yml\n  - name: Create zip archive\n    uses: thedoctor0/zip-release@0.7.6\n    with:\n      type: 'zip'\n      filename: ${{ github.event.inputs.zip }}\n      exclusions: '*.git* .editorconfig composer* *.md vendor/*/test* vendor/*/docs'\n  ```\n- Upload the zip file to the release page ([softprops/action-gh-release](https://github.com/softprops/action-gh-release?tab=readme-ov-file#--action-gh-release))\n  ```yml\n  - name: Upload to release\n    id: upload\n    uses: softprops/action-gh-release@v2\n    env:\n      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n    with:\n      files: ${{ github.event.inputs.zip }}\n      tag_name: ${{ github.event.inputs.tag }}\n  ```\n- Create an attestation for the zip file ([johnbillion/action-wordpress-plugin-attestation](https://github.com/johnbillion/action-wordpress-plugin-attestation?tab=readme-ov-file#wordpress-plugin-attestation))\n  ```yml\n  - name: Generate attestation\n    uses: johnbillion/action-wordpress-plugin-attestation@0.7.0\n    with:\n      zip-path: ${{ github.event.inputs.zip }}\n      zip-url: ${{ steps.asset_url.outputs.final_url }}\n  ```\n\n## [manually-build-zip.yml](.github/workflows/manually-build-zip.yml):\n\n```yml\nname: Manually Build Release Zip\n\non:\n  workflow_dispatch:\n    inputs:\n      tag:\n        description: 'Release tag (e.g. v1.0.0)'\n        required: true\n        type: string\n      zip:\n        description: 'Output zip filename (e.g. my-plugin.zip)'\n        required: true\n        type: string\n\njobs:\n  create-release:\n    name: Create Release Package\n    runs-on: ubuntu-latest\n    permissions:\n      attestations: write\n      contents: write\n      id-token: write\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v3\n\n      - name: Build plugin # Remove or modify this step as needed\n        run: |\n          composer install --no-dev\n\n      - name: Create zip archive\n        uses: thedoctor0/zip-release@0.7.6\n        with:\n          type: 'zip'\n          filename: ${{ github.event.inputs.zip }}\n          exclusions: '*.git* .editorconfig composer* *.md vendor/*/test* vendor/*/docs'\n\n      - name: Upload to release\n        id: upload\n        uses: softprops/action-gh-release@v2\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        with:\n          files: ${{ github.event.inputs.zip }}\n          tag_name: ${{ github.event.inputs.tag }}\n\n      - name: Get final asset URL\n        id: asset_url\n        run: |\n          URL=\"$(curl -s -I -o /dev/null -w \"%{redirect_url}\" \"${{ fromJson(steps.upload.outputs.assets)[0].browser_download_url }}\")\"\n          echo \"final_url=${URL}\" \u003e\u003e \"${GITHUB_OUTPUT}\"\n\n      - name: Generate attestation\n        uses: johnbillion/action-wordpress-plugin-attestation@0.7.0\n        with:\n          zip-path: ${{ github.event.inputs.zip }}\n          zip-url: ${{ steps.asset_url.outputs.final_url }}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoderlind%2Fzip-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoderlind%2Fzip-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoderlind%2Fzip-test/lists"}