Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding permission scope #27

Merged
merged 1 commit into from Sep 19, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/workflows/test-action.yml
@@ -1,9 +1,21 @@
name: test-cosign

on: [pull_request]

jobs:
test_cosign_action:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Install Cosign and test presence in path
steps:
- uses: actions/checkout@v2
Expand All @@ -22,6 +34,17 @@ jobs:

test_existing_release_action:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Install existing release of Cosign and test presence in path
steps:
- uses: actions/checkout@v2
Expand All @@ -40,6 +63,17 @@ jobs:

test_cosign_action_custom:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Install Custom Cosign and test presence in path
steps:
- uses: actions/checkout@v2
Expand All @@ -60,6 +94,17 @@ jobs:

test_cosign_action_0_6_0:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Install Cosign v0.6.0 and test presence in path
steps:
- uses: actions/checkout@v2
Expand All @@ -80,6 +125,17 @@ jobs:

test_cosign_action_0_6_0_with_pre_installed_libpcsclite1_package:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Install Cosign v0.6.0 and test presence in path with pre installed libpcsclite1 package
steps:
- uses: actions/checkout@v2
Expand All @@ -104,6 +160,17 @@ jobs:

test_cosign_action_wrong:
runs-on: ubuntu-latest
permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
name: Try to install a wrong Cosign
steps:
- uses: actions/checkout@v2
Expand Down
80 changes: 80 additions & 0 deletions README.md
Expand Up @@ -22,6 +22,19 @@ Example using a pinned version:
jobs:
test_cosign_action:
runs-on: ubuntu-latest

permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none

name: Install Cosign and test presence in path
steps:
- name: Install Cosign
Expand All @@ -38,6 +51,19 @@ Example using the default version:
jobs:
test_cosign_action:
runs-on: ubuntu-latest

permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none

name: Install Cosign and test presence in path
steps:
- name: Install Cosign
Expand All @@ -46,6 +72,60 @@ jobs:
run: cosign version
```

This action does not need any GitHub permission to run, however, if your workflow needs to update, create or perform any
action against your repository, then you should change the scope of the permission appropriately.

For example, if you are using the `gcr.io` as your registry to push the images you will need to give the `write` permission
to the `packages` scope.

Example of a simple workflow:

```yaml
jobs:
test_cosign_action:
runs-on: ubuntu-latest

permissions:
actions: none
checks: none
contents: none
deployments: none
issues: none
packages: write
pull-requests: none
repository-projects: none
security-events: none
statuses: none

name: Install Cosign and test presence in path
steps:
- uses: actions/checkout@master
with:
fetch-depth: 1

- name: Install Cosign
uses: sigstore/cosign-installer@main

- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Build and Push container images
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: true
tags: |
ghcr.io/sigstore/sample-honk:${{ github.sha }}

- name: Sign image
run: |
cosign sign -key my_cosign.key ghcr.io/sigstore/sample-honk:${{ github.sha }}
```

### Optional Inputs
The following optional inputs:

Expand Down