diff --git a/.gitea/workflows/pr-cloudflare-docker-deploy.yml b/.gitea/workflows/pr-cloudflare-docker-deploy.yml index 3e75f990..7a104db1 100644 --- a/.gitea/workflows/pr-cloudflare-docker-deploy.yml +++ b/.gitea/workflows/pr-cloudflare-docker-deploy.yml @@ -30,18 +30,16 @@ jobs: id: check-opened-pr-step continue-on-error: true run: | - echo "Adding tea login" tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }} tea login default gitea-rinoa pr_exists=$(tea pr list --repo ${{ github.repository }} --state open --fields index,title,head | egrep ${{ github.ref_name }} | tail -1 | wc -l) + echo ${pr_exists} echo "exists=$pr_exists" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.check-opened-pr-step.outputs.exists == '0' }} run: | - tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | egrep -v 'index' | head -2 | awk -F, '{print $1}' | sed -e 's|"||g' - pr_index_old=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | egrep -v 'index' | head | awk -F, '{print $1}' | sed -e 's|"||g') - echo "${pr_index_old}" - expr ${pr_index_old} + 1 + tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | head -2 | tail -1 | awk -F, '{print $1}' | sed -e 's|"||g' + pr_index_old=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | head -2 | tail -1 | awk -F, '{print $1}' | sed -e 's|"||g')' pr_index_new=$(expr ${pr_index_old} + 1) tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }} - ${pr_index_new}" -d "Automatically created PR for branch: ${{ github.ref_name }}" -a ${{ github.actor }} docker-compose-ansible-lints: @@ -54,23 +52,33 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 1 + # Cache Ansible Galaxy Collections - name: Cache Ansible Galaxy Collections uses: actions/cache@v3 with: - path: ./ansible/collections + path: ansible/collections key: ${{ runner.os }}-ansible-${{ hashFiles('./ansible/collections/requirements.yml') }} restore-keys: | ${{ runner.os }}-ansible- + # Install Ansible + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' - name: Install Ansible run: | python3 -m pip install --upgrade pip pip3 install ansible - name: Install Vault uses: cpanato/vault-installer@main + # Install Galaxy Collections - name: Install Galaxy Collections if: steps.cache-ansible-galaxy-collections.outputs.cache-hit != 'true' run: | ansible-galaxy collection install -r ansible/collections/requirements.yml -p ansible/collections + # Run Docker Config Deployment - name: Docker Config Deployment id: docker-config-deploy uses: arillso/action.playbook@0.0.8 @@ -79,19 +87,22 @@ jobs: diff: true galaxy_collections_path: ansible/collections galaxy_requirements_file: ansible/collections/requirements.yml - inventory: ansible/inventory/hosts.yml + inventory: ansible/ansible-inventory.yml playbook: ansible/docker_config_deploy.yml private_key: ${{ secrets.RINOA_ANSIBLE_PRIVATE_KEY }} vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }} verbose: 1 + # Generate .env File - name: Generate .env file for Docker Compose Dry Run run: | vault kv get -format=json rinoa-docker/env | jq -r '.data.data' | jq -r 'keys[] as $k | "\($k)='\''\(.[$k])'\''"' > .env + # Cache .env File - name: Cache .env Files uses: actions/cache@v3 with: path: .env key: ${{ runner.os }}-env-${{ hashFiles('docker-compose.yml') }} + # Docker Compose Dry Run - name: Docker Compose Dry Run uses: yu-ichiro/spin-up-docker-compose-action@v1 with: