Skip to content

cloud: Add updated_urls_topic to cloud function env #148

cloud: Add updated_urls_topic to cloud function env

cloud: Add updated_urls_topic to cloud function env #148

Workflow file for this run

name: deploy
"on":
push:
branches: [main]
workflow_dispatch: {}
jobs:
test:
uses: kernelci/kcidb/.github/workflows/test.yml@main
secrets:
GCLOUD_PROJECT: ${{ secrets.GCLOUD_PROJECT }}
GCLOUD_SA_KEY: ${{ secrets.GCLOUD_SA_KEY }}
deploy_to_staging:
needs: test
runs-on: ubuntu-latest
environment: staging
concurrency: staging
steps:
- uses: actions/checkout@v3
- name: Check credentials
env:
GCLOUD_PROJECT: ${{ secrets.GCLOUD_PROJECT }}
GCLOUD_SA_KEY: ${{ secrets.GCLOUD_SA_KEY }}
run: |
# Check credentials
CREDENTIALS_PRESENT=true
function check() {
if eval "test -z \"\$$1\""; then
echo "$1 secret is missing." >&2
CREDENTIALS_PRESENT=false
fi
}
check GCLOUD_PROJECT
check GCLOUD_SA_KEY
if "$CREDENTIALS_PRESENT"; then
echo "All required credentials are present, continuing." >&2
else
echo "Required credentials are missing, aborting." >&2
fi
"$CREDENTIALS_PRESENT"
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install
run: |
python -m pip install --upgrade pip setuptools
pip3 install --upgrade '.[dev]'
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v1
with:
project_id: ${{ secrets.GCLOUD_PROJECT }}
credentials_json: ${{ secrets.GCLOUD_SA_KEY }}
create_credentials_file: true
export_environment_variables: true
- name: Setup Google Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Deploy to Staging and Test
run: |
declare -a args=(
kernelci-staging "" 1
--smtp-mocked
)
./cloud deploy "${args[@]}" -v
KCIDB_DEPLOYMENT="This deployment is empty" \
./cloud shell "${args[@]}" --heavy-asserts -- \
pytest --tb=native --verbosity=2 --log-level=DEBUG
deploy_to_production:
needs: deploy_to_staging
runs-on: ubuntu-latest
environment: production
concurrency: production
steps:
- uses: actions/checkout@v3
- name: Check credentials
env:
GCLOUD_PROJECT: ${{ secrets.GCLOUD_PROJECT }}
GCLOUD_SA_KEY: ${{ secrets.GCLOUD_SA_KEY }}
run: |
# Check credentials
CREDENTIALS_PRESENT=true
function check() {
if eval "test -z \"\$$1\""; then
echo "$1 secret is missing." >&2
CREDENTIALS_PRESENT=false
fi
}
check GCLOUD_PROJECT
check GCLOUD_SA_KEY
if "$CREDENTIALS_PRESENT"; then
echo "All required credentials are present, continuing." >&2
else
echo "Required credentials are missing, aborting." >&2
fi
"$CREDENTIALS_PRESENT"
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install
run: |
python -m pip install --upgrade pip setuptools
pip3 install --upgrade '.[dev]'
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v1
with:
project_id: ${{ secrets.GCLOUD_PROJECT }}
credentials_json: ${{ secrets.GCLOUD_SA_KEY }}
create_credentials_file: true
export_environment_variables: true
- name: Setup Google Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Deploy Playground
run: |
declare -a args=(
kernelci-production "playground" 1
--smtp-mocked
--optimize=2
)
./cloud deploy "${args[@]}" -v
- name: Deploy Production
run: |
declare -a args=(
kernelci-production "" 1
--extra-cc=kernelci-results-staging@groups.io
)
./cloud deploy "${args[@]}" -v