Skip to content

Customize self issuer #236

Customize self issuer

Customize self issuer #236

Workflow file for this run

name: CI
on:
push:
branches: "**"
pull_request:
tags:
- "**"
jobs:
build-docker:
name: Build with Docker
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
steps:
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v3
- name: Docker metadata - scheduled queues
id: meta-scheduled-queues
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-scheduled-queues
tags: |
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
- name: Docker metadata - queues
id: meta-queues
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-queues
tags: |
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
- name: Docker metadata - release
id: meta-release
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-release
tags: |
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
- name: Docker metadata - web
id: meta-web
uses: docker/metadata-action@v4
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
- name: Build and push Docker image - web
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
target: web
tags: ${{ steps.meta-web.outputs.tags }}
labels: ${{ steps.meta-web.outputs.labels }}
- name: Build and push Docker image - release
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
target: release
tags: ${{ steps.meta-release.outputs.tags }}
labels: ${{ steps.meta-release.outputs.labels }}
- name: Build and push Docker image - queues
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
target: queues
tags: ${{ steps.meta-queues.outputs.tags }}
labels: ${{ steps.meta-queues.outputs.labels }}
- name: Build and push Docker image - scheduled queues
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
target: scheduled-queues
tags: ${{ steps.meta-scheduled-queues.outputs.tags }}
labels: ${{ steps.meta-scheduled-queues.outputs.labels }}
build-mac:
name: Build on Mac
runs-on: macos-13
steps:
- uses: swift-actions/setup-swift@v1
with:
swift-version: "5.9"
- run: swift --version
- uses: actions/checkout@v3
- run: swift build -c release
test-linux:
name: Test on Ubuntu
runs-on: ubuntu-latest
services:
redis:
image: redis:latest
ports:
- 6379:6379
postgres:
image: postgres:latest
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: "postgresql://postgres:postgres@localhost/postgres"
DB_SYMMETRIC_KEY: "9/Vk5Rlzctc5tyX0SCmIJaRzEg+QgwWjlTzD0LMPqNY="
REDIS_URL: "redis://localhost"
SELF_ISSUER_ID: "com.fullqueuedeveloper.FQAuth"
APPLE_SERVICES_KEY: "LS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KQmdVcmdRUUFJdz09Ci0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUlIY0FnRUJCRUlCdXRBYnNFUjY1bVFnby9iKzJYcTVsaDZQTDhuRTJSRjZ0WjFDdWNmdW5UaWtyNDFwL3JhZwpYaXd6MTJVOWxoY211Y2wrWDh5MkVacUowQ0FXS0VhTHluYWdCd1lGSzRFRUFDT2hnWWtEZ1lZQUJBQm92SWc2CkNRREdkcjMxNlR6bEJXRG56SHIvWDVoSnVzbnpSY0E2WUpUS1RVMll2bXdCaHVGUFBiNit1MUttaUdkTnQ2N1EKTU16RjMxYjY0L0gwS3prQ1BnRVZicklMVkthNDlUbTdNQU1WT3dsUUxaVHBIck8xMVk2bVd5eERydEFCSXNDTApqNnBRMFhGNlZiNWNOT3RWL1BpMC9lcTIxY3UwV3h5aDNHODY2TlQ0T1E9PQotLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCg=="
APPLE_SERVICES_KEY_ID: "com.fullqueuedeveloper.FQAuthServer.AppleServicesKeyID"
APPLE_TEAM_ID: "FQDV1234"
APPLE_APP_ID: "com.fullqueuedeveloper.FQAuth"
AUTH_PRIVATE_KEY: "LS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KQmdVcmdRUUFJdz09Ci0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUlIY0FnRUJCRUlCV1Q2RVFQZkRNelNwME1tNjFlbFRaaXljQSs5Sy9QRzN6TFFka0hsMnFlWnlCWEs4VlRrRQpTbGovemxXRkhUWG1RTTB0d3V5YnAyTEFMaHVwd2ZJR3l5eWdCd1lGSzRFRUFDT2hnWWtEZ1lZQUJBRXh5QS9wCitEM05CTmdjMm1XUjdBOVRUa0tkdWMrWVlaeFN2ZWdPMWpMeC9QbG1TUHdHcGF3c2NiYWxHYTgwbkRTNTU2SXUKR1l0S2ZnbkJGSXBFcU1FQkdBQ2MrUys2cTNBNU10emM4bHhzamRlYVlSWDdIbnJNejlVdzRROGNUUmkzUXVJNwpKdi93OEJnZFhRNnVMdGdSMTZLTzJQcVg2azRSSDdmY3BSL20vUEU1OEE9PQotLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCg=="
steps:
- uses: swift-actions/setup-swift@v1
with:
swift-version: 5.9
- run: swift --version
- uses: actions/checkout@v3
- run: swift run SincereAuthServer migrate -y --env test
- run: swift test
test-mac:
name: Test on Mac
runs-on: macos-13
steps:
- run: |
brew install postgresql
brew services start postgresql
echo "Check PostgreSQL service is running"
i=10
COMMAND='pg_isready'
while [ $i -gt 0 ]; do
echo "Check PostgreSQL service status"
eval $COMMAND && break
((i--))
if [ $i == 0 ]; then
echo "PostgreSQL service not ready, all attempts exhausted"
exit 1
fi
echo "PostgreSQL service not ready, wait 10 more sec, attempts left: $i"
sleep 10
done
- run: |
psql --command="CREATE USER myuser PASSWORD 'mypassword'" --command="\du" postgres
- run: |
createdb --owner=myuser mydatabase
PGPASSWORD=mypassword psql --username=myuser --host=localhost --list mydatabase
- run: psql $DATABASE_URL -c "select version()"
- uses: swift-actions/setup-swift@v1
with:
swift-version: "5.9"
- run: swift --version
- uses: shogo82148/actions-setup-redis@v1
- uses: actions/checkout@v3
- run: swift run SincereAuthServer migrate -y --env test
- run: swift test
env:
DATABASE_URL: "postgresql://myuser:mypassword@localhost/mydatabase"
DB_SYMMETRIC_KEY: "9/Vk5Rlzctc5tyX0SCmIJaRzEg+QgwWjlTzD0LMPqNY="
REDIS_URL: "redis://127.0.0.1:6379"
SELF_ISSUER_ID: "com.fullqueuedeveloper.FQAuth"
APPLE_SERVICES_KEY: "LS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KQmdVcmdRUUFJdz09Ci0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUlIY0FnRUJCRUlCdXRBYnNFUjY1bVFnby9iKzJYcTVsaDZQTDhuRTJSRjZ0WjFDdWNmdW5UaWtyNDFwL3JhZwpYaXd6MTJVOWxoY211Y2wrWDh5MkVacUowQ0FXS0VhTHluYWdCd1lGSzRFRUFDT2hnWWtEZ1lZQUJBQm92SWc2CkNRREdkcjMxNlR6bEJXRG56SHIvWDVoSnVzbnpSY0E2WUpUS1RVMll2bXdCaHVGUFBiNit1MUttaUdkTnQ2N1EKTU16RjMxYjY0L0gwS3prQ1BnRVZicklMVkthNDlUbTdNQU1WT3dsUUxaVHBIck8xMVk2bVd5eERydEFCSXNDTApqNnBRMFhGNlZiNWNOT3RWL1BpMC9lcTIxY3UwV3h5aDNHODY2TlQ0T1E9PQotLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCg=="
APPLE_SERVICES_KEY_ID: "com.fullqueuedeveloper.FQAuthServer.AppleServicesKeyID"
APPLE_TEAM_ID: "FQDV1234"
APPLE_APP_ID: "com.fullqueuedeveloper.FQAuth"
AUTH_PRIVATE_KEY: "LS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KQmdVcmdRUUFJdz09Ci0tLS0tRU5EIEVDIFBBUkFNRVRFUlMtLS0tLQotLS0tLUJFR0lOIEVDIFBSSVZBVEUgS0VZLS0tLS0KTUlIY0FnRUJCRUlCV1Q2RVFQZkRNelNwME1tNjFlbFRaaXljQSs5Sy9QRzN6TFFka0hsMnFlWnlCWEs4VlRrRQpTbGovemxXRkhUWG1RTTB0d3V5YnAyTEFMaHVwd2ZJR3l5eWdCd1lGSzRFRUFDT2hnWWtEZ1lZQUJBRXh5QS9wCitEM05CTmdjMm1XUjdBOVRUa0tkdWMrWVlaeFN2ZWdPMWpMeC9QbG1TUHdHcGF3c2NiYWxHYTgwbkRTNTU2SXUKR1l0S2ZnbkJGSXBFcU1FQkdBQ2MrUys2cTNBNU10emM4bHhzamRlYVlSWDdIbnJNejlVdzRROGNUUmkzUXVJNwpKdi93OEJnZFhRNnVMdGdSMTZLTzJQcVg2azRSSDdmY3BSL20vUEU1OEE9PQotLS0tLUVORCBFQyBQUklWQVRFIEtFWS0tLS0tCg=="