Skip to content

api-status

api-status #235117

Workflow file for this run

# This workflow determines the status of web API used by argopy, every 5 minutes
name: api-status
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '*/5 * * * *'
push:
branches: [ master ]
workflow_dispatch: # allows you to trigger the workflow run manually
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-and-report:
runs-on: ubuntu-latest
steps:
- name: Energy Estimation - Initialize
uses: green-coding-solutions/eco-ci-energy-estimation@v4.0-rc3
with:
task: start-measurement
company-uuid: ${{ secrets.CARBONDB_COMPANY_UUID }}
project-uuid: ${{ secrets.CARBONDB_PROJECT_UUID }}
machine-uuid: ${{ secrets.CARBONDB_MACHINE_UUID }}
continue-on-error: true
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: 'master'
# env:
# GIT_TRACE: 1
# GIT_CURL_VERBOSE: 1
- uses: actions/checkout@v4
- name: Save report
run: date +%s > last_update.txt
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Install argopy
run: |
python -m pip install --upgrade pip
pwd
ls -l
pip install distributed aiohttp requests
pip install git+https://github.com/euroargodev/argopy.git@master
- name: Check API status
run: |
python check_save_status.py
ls -l
- name: Set env value for ARGOVIS
run: |
echo "ARGOVIS=$(cat ARGOVIS.txt)" >> $GITHUB_ENV
- name: Set env value for ERDDAP
run: |
echo "ERDDAP=$(cat ERDDAP.txt)" >> $GITHUB_ENV
- name: Set env value for GDAC
run: |
echo "GDAC=$(cat GDAC.txt)" >> $GITHUB_ENV
- name: Save API status online
uses: EndBug/add-and-commit@v9.1.4
with:
author_name: argobot-hub
author_email: argobot84@gmail.com
message: "Update status files"
add: "*.json --force"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Save report online
uses: EndBug/add-and-commit@v9.1.4
with:
author_name: argobot-hub
author_email: argobot84@gmail.com
message: 'Update report file'
add: "*.txt --force"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Fix self-signed error
# run: |
# echo "NODE_TLS_REJECT_UNAUTHORIZED='0'" >> $GITHUB_ENV
- name: Send ARGOVIS status by email
uses: dawidd6/action-send-mail@v3
with:
server_address: smtp.gmail.com
server_port: 587
username: ${{secrets.MAIL_USERNAME}}
password: ${{secrets.MAIL_PASSWORD}}
subject: ${{env.ARGOVIS}}
body: Build job of ${{github.repository}} completed successfully!
to: ${{secrets.STATUSPAGE_ARGOVIS_EMAIL}}
from: argo-bot
ignore_cert: true
- name: Send ERDDAP status by email
uses: dawidd6/action-send-mail@v3
with:
server_address: smtp.gmail.com
server_port: 587
username: ${{secrets.MAIL_USERNAME}}
password: ${{secrets.MAIL_PASSWORD}}
subject: ${{env.ERDDAP}}
body: Build job of ${{github.repository}} completed successfully!
to: ${{secrets.STATUSPAGE_ERDDAP_EMAIL}}
from: argo-bot
ignore_cert: true
- name: Send GDAC status by email
uses: dawidd6/action-send-mail@v3
with:
server_address: smtp.gmail.com
server_port: 587
username: ${{secrets.MAIL_USERNAME}}
password: ${{secrets.MAIL_PASSWORD}}
subject: ${{env.GDAC}}
body: Build job of ${{github.repository}} completed successfully!
to: ${{secrets.STATUSPAGE_GDAC_EMAIL}}
from: argo-bot
ignore_cert: true
- name: Energy Estimation - Get Measurement
uses: green-coding-solutions/eco-ci-energy-estimation@v4.0-rc3
with:
task: get-measurement
label: 'argopy APIstatus'
continue-on-error: true
- name: Energy Estimation - Show Results
uses: green-coding-solutions/eco-ci-energy-estimation@v4.0-rc3
with:
task: display-results
pr-comment: false
send-data: true
continue-on-error: true