Index Release #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Index Release | |
on: | |
workflow_dispatch: | |
inputs: | |
release_version: | |
type: string | |
description: Which release version to index (type v1.0.6 for example) | |
default: "latest" | |
select_index: | |
type: choice | |
description: Index as test or live | |
options: | |
- Test | |
- Live | |
force_index: | |
type: boolean | |
default: false | |
description: Force index packages (even if hash is the same, index with new package) | |
set_as_latest: | |
type: boolean | |
description: Promote selected version to latest? (Only applied if index is set to "live") | |
default: false | |
jobs: | |
index: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r scripts/requirements/shared.txt | |
sudo apt-get install p7zip-full | |
- name: Update and upload new database | |
run: | | |
python -u scripts/reupload_databases.py ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }} ${{ secrets.PROG_DEBUG_CODEGRIP }} ${{ secrets.PROG_DEBUG_MIKROPROG }} ${{ github.event.inputs.release_version }} "latest" ${{ github.event.inputs.select_index }} | |
- name: Run Index Script | |
env: | |
ES_HOST: ${{ secrets.ES_HOST }} | |
ES_USER: ${{ secrets.ES_USER }} | |
ES_PASSWORD: ${{ secrets.ES_PASSWORD }} | |
run: | | |
if [[ ${{ github.event.inputs.select_index }} == "Live" ]]; then | |
echo "Indexing to Live." | |
python -u scripts/index.py ${{ github.repository }} ${{ secrets.GITHUB_TOKEN }} ${{ secrets.ES_INDEX_LIVE }} ${{ github.event.inputs.force_index }} ${{ github.event.inputs.release_version }} False ${{ github.event.inputs.set_as_latest }} | |
else | |
echo "Indexing to Test." | |
if [[ ${{ github.event.inputs.set_as_latest }} ]]; then | |
echo "Promote to latest requested, but ignored. Only available for LIVE updates." | |
fi | |
python -u scripts/index.py ${{ github.repository }} ${{ secrets.GITHUB_TOKEN }} ${{ secrets.ES_INDEX_TEST }} ${{ github.event.inputs.force_index }} ${{ github.event.inputs.release_version }} False False | |
fi | |
- name: Send notification to Mattermost | |
env: | |
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }} | |
run: | | |
MESSAGE="Core version \"${{ github.event.inputs.release_version }}\" indexed." | |
curl -X POST -H 'Content-Type: application/json' \ | |
--data "{\"text\": \"$MESSAGE\"}" \ | |
$MATTERMOST_WEBHOOK_URL |