Some checks failed
Run acceptance tests / use-connect-without-export-env (push) Has been cancelled
Run acceptance tests / use-connect-with-export-env (push) Has been cancelled
Run acceptance tests / use-connect-with-references-with-id (push) Has been cancelled
Run acceptance tests / use-service-account-without-export-env (push) Has been cancelled
Run acceptance tests / use-service-account-with-export-env (push) Has been cancelled
Run acceptance tests / use-service-account-with-references-with-id (push) Has been cancelled
Run acceptance tests / run-on-macos-12 (push) Has been cancelled
Bring 2 changes that ensure that the GitHub Action is backwards compatible: - Append `http://` if the prefix is not provided in the `OP_CONNECT_HOST` (this is caused by the fact that `curl` guesses the protocol if not provided (https://linux.die.net/man/1/curl), which we missed when switching to using the 1Password CLI as the backend of the action) - Set the default of export-env to true, since that was the default behavior of the action until we added the possibility to export secrets as step's output. Also, the documentation is adjusted to reflect these changes.
169 lines
7.3 KiB
YAML
169 lines
7.3 KiB
YAML
on: push
|
|
name: Run acceptance tests
|
|
|
|
jobs:
|
|
use-connect-without-export-env:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Launch 1Password Connect instance
|
|
env:
|
|
OP_CONNECT_CREDENTIALS: ${{ secrets.OP_CONNECT_CREDENTIALS }}
|
|
run: |
|
|
echo "$OP_CONNECT_CREDENTIALS" > 1password-credentials.json
|
|
docker-compose -f tests/fixtures/docker-compose.yml up -d && sleep 10
|
|
- name: Configure 1Password Connect
|
|
uses: ./configure # 1password/load-secrets-action/configure@<version>
|
|
with:
|
|
connect-host: localhost:8080
|
|
connect-token: ${{ secrets.OP_CONNECT_TOKEN }}
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
export-env: false
|
|
env:
|
|
SECRET: op://acceptance-tests/test-secret/password
|
|
SECRET_IN_SECTION: op://acceptance-tests/test-secret/test-section/password
|
|
MULTILINE_SECRET: op://acceptance-tests/multiline-secret/notesPlain
|
|
- name: Assert test secret values
|
|
env:
|
|
SECRET: ${{ steps.load_secrets.outputs.SECRET }}
|
|
SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_IN_SECTION }}
|
|
MULTILINE_SECRET: ${{ steps.load_secrets.outputs.MULTILINE_SECRET }}
|
|
run: ./tests/assert-env-set.sh
|
|
use-connect-with-export-env:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Launch 1Password Connect instance
|
|
env:
|
|
OP_CONNECT_CREDENTIALS: ${{ secrets.OP_CONNECT_CREDENTIALS }}
|
|
run: |
|
|
echo "$OP_CONNECT_CREDENTIALS" > 1password-credentials.json
|
|
docker-compose -f tests/fixtures/docker-compose.yml up -d && sleep 10
|
|
- name: Configure 1Password Connect
|
|
uses: ./configure # 1password/load-secrets-action/configure@<version>
|
|
with:
|
|
connect-host: http://localhost:8080
|
|
connect-token: ${{ secrets.OP_CONNECT_TOKEN }}
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
env:
|
|
SECRET: op://acceptance-tests/test-secret/password
|
|
SECRET_IN_SECTION: op://acceptance-tests/test-secret/test-section/password
|
|
MULTILINE_SECRET: op://acceptance-tests/multiline-secret/notesPlain
|
|
- name: Assert test secret values
|
|
run: ./tests/assert-env-set.sh
|
|
- name: Remove secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
unset-previous: true
|
|
- name: Assert removed secrets
|
|
run: ./tests/assert-env-unset.sh
|
|
use-connect-with-references-with-id:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Launch 1Password Connect instance
|
|
env:
|
|
OP_CONNECT_CREDENTIALS: ${{ secrets.OP_CONNECT_CREDENTIALS }}
|
|
run: |
|
|
echo "$OP_CONNECT_CREDENTIALS" > 1password-credentials.json
|
|
docker-compose -f tests/fixtures/docker-compose.yml up -d && sleep 10
|
|
- name: Configure 1Password Connect
|
|
uses: ./configure # 1password/load-secrets-action/configure@<version>
|
|
with:
|
|
connect-host: http://localhost:8080
|
|
connect-token: ${{ secrets.OP_CONNECT_TOKEN }}
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
export-env: false
|
|
env:
|
|
SECRET: op://v5pz6venw4roosmkzdq2nhpv6u/hrgkzhrlvscomepxlgafb2m3ca/password
|
|
SECRET_IN_SECTION: op://v5pz6venw4roosmkzdq2nhpv6u/hrgkzhrlvscomepxlgafb2m3ca/Section_tco6nsqycj6jcbyx63h5isxcny/doxu3mhkozcznnk5vjrkpdqayy
|
|
MULTILINE_SECRET: op://v5pz6venw4roosmkzdq2nhpv6u/ghtz3jvcc6dqmzc53d3r3eskge/notesPlain
|
|
- name: Assert test secret values
|
|
env:
|
|
SECRET: ${{ steps.load_secrets.outputs.SECRET }}
|
|
SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_IN_SECTION }}
|
|
MULTILINE_SECRET: ${{ steps.load_secrets.outputs.MULTILINE_SECRET }}
|
|
run: ./tests/assert-env-set.sh
|
|
use-service-account-without-export-env:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
export-env: false
|
|
env:
|
|
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
|
|
SECRET: op://acceptance-tests/test-secret/password
|
|
SECRET_IN_SECTION: op://acceptance-tests/test-secret/test-section/password
|
|
MULTILINE_SECRET: op://acceptance-tests/multiline-secret/notesPlain
|
|
- name: Assert test secret values
|
|
env:
|
|
SECRET: ${{ steps.load_secrets.outputs.SECRET }}
|
|
SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_IN_SECTION }}
|
|
MULTILINE_SECRET: ${{ steps.load_secrets.outputs.MULTILINE_SECRET }}
|
|
run: ./tests/assert-env-set.sh
|
|
use-service-account-with-export-env:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
env:
|
|
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
|
|
SECRET: op://acceptance-tests/test-secret/password
|
|
SECRET_IN_SECTION: op://acceptance-tests/test-secret/test-section/password
|
|
MULTILINE_SECRET: op://acceptance-tests/multiline-secret/notesPlain
|
|
- name: Assert test secret values
|
|
run: ./tests/assert-env-set.sh
|
|
use-service-account-with-references-with-id:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
export-env: false
|
|
env:
|
|
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
|
|
SECRET: op://v5pz6venw4roosmkzdq2nhpv6u/hrgkzhrlvscomepxlgafb2m3ca/password
|
|
SECRET_IN_SECTION: op://v5pz6venw4roosmkzdq2nhpv6u/hrgkzhrlvscomepxlgafb2m3ca/Section_tco6nsqycj6jcbyx63h5isxcny/doxu3mhkozcznnk5vjrkpdqayy
|
|
MULTILINE_SECRET: op://v5pz6venw4roosmkzdq2nhpv6u/ghtz3jvcc6dqmzc53d3r3eskge/notesPlain
|
|
- name: Assert test secret values
|
|
env:
|
|
SECRET: ${{ steps.load_secrets.outputs.SECRET }}
|
|
SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_IN_SECTION }}
|
|
MULTILINE_SECRET: ${{ steps.load_secrets.outputs.MULTILINE_SECRET }}
|
|
run: ./tests/assert-env-set.sh
|
|
run-on-macos-12:
|
|
runs-on: macos-12
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Load secrets
|
|
id: load_secrets
|
|
uses: ./ # 1password/load-secrets-action@<version>
|
|
with:
|
|
export-env: false
|
|
env:
|
|
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
|
|
SECRET: op://acceptance-tests/test-secret/password
|
|
SECRET_IN_SECTION: op://acceptance-tests/test-secret/test-section/password
|
|
MULTILINE_SECRET: op://acceptance-tests/multiline-secret/notesPlain
|
|
- name: Assert test secret values
|
|
env:
|
|
SECRET: ${{ steps.load_secrets.outputs.SECRET }}
|
|
SECRET_IN_SECTION: ${{ steps.load_secrets.outputs.SECRET_IN_SECTION }}
|
|
MULTILINE_SECRET: ${{ steps.load_secrets.outputs.MULTILINE_SECRET }}
|
|
run: ./tests/assert-env-set.sh
|