Skip to content

Commit

Permalink
refactor workfow maven functions and java installs
Browse files Browse the repository at this point in the history
  • Loading branch information
spbolton committed Jul 11, 2024
1 parent a0d05b5 commit d85a0a6
Show file tree
Hide file tree
Showing 20 changed files with 814 additions and 1,015 deletions.
53 changes: 0 additions & 53 deletions .github/actions/cleanup-macos-runner/action.yml

This file was deleted.

122 changes: 79 additions & 43 deletions .github/actions/cleanup-runner/action.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,108 @@
# action.yml
name: 'Cleanup Runner'
description: 'Cleans up runner resources'
author: 'victoralfaro-dotcms'
runs:
using: 'composite'
steps:
- name: Show Disk Usage
- name: Show Initial Disk Usage
shell: bash
run: |
echo '# df -h'
echo '# Initial Disk Usage'
df -h
echo "Runner OS: $RUNNER_OS"
echo '# docker images'
docker images || true
echo '# du -sh /home/runner'
sudo du -sh /home/runner || true
if [[ "$RUNNER_OS" == "macOS" ]]; then
HOME_DIR="/Users/runner"
echo '# du -sh $HOME_DIR'
sudo du -sh $HOME_DIR || true
elif [[ "$RUNNER_OS" == "Linux" ]]; then
HOME_DIR="/home/runner"
echo '# docker images'
docker images || true
echo '# du -sh $HOME_DIR'
sudo du -sh $HOME_DIR || true
fi
- name: Clean apt cache
- name: Clean Cache
shell: bash
run: |
echo 'Clean apt cache'
time sudo apt-get clean -y
time sudo apt-get autoclean -y
time sudo apt-get autoremove -y
time sudo rm -rf /var/lib/apt/lists/*
if [[ "$RUNNER_OS" == "macOS" ]]; then
echo 'Clean Homebrew cache'
brew cleanup -s
rm -rf "$(brew --cache)"
elif [[ "$RUNNER_OS" == "Linux" ]]; then
echo 'Clean apt cache'
sudo apt-get clean -y
sudo apt-get autoclean -y
sudo apt-get autoremove -y
sudo rm -rf /var/lib/apt/lists/*
fi
- name: Cleanup Docker
shell: bash
run: |
echo 'Cleanup Docker'
time docker system prune -f
time docker volume prune -f
time docker image prune -f
time docker container prune -f
time docker network prune -f
if [[ "$RUNNER_OS" == "Linux" ]] || [[ "$RUNNER_OS" == "macOS" ]]; then
echo 'Cleanup Docker'
docker system prune -f
docker volume prune -f
docker image prune -f
docker container prune -f
docker network prune -f
fi
- name: Reclaim Disk Space
shell: bash
run: |
removeIfExists() {
local file=$1
[[ -e $file ]] && time sudo rm -rf $1 || true
[[ -e $file ]] && sudo rm -rf $1 || true
}
removeIfExists /usr/share/dotnet
removeIfExists /usr/share/swift
removeIfExists /usr/local/lib/android
removeIfExists /opt/ghc
removeIfExists /opt/pipx
removeIfExists /opt/hostedtoolcache/CodeQL
removeIfExists /imagegeneration/installers/go-*
removeIfExists /imagegeneration/installers/node-*
removeIfExists /imagegeneration/installers/python-*
removeIfExists /home/runner/work/_temp/*
removeIfExists /home/runner/work/_tool/*
removeIfExists /home/runner/work/_config/*
if [[ "$RUNNER_OS" == "macOS" ]]; then
HOME_DIR="/Users/runner"
removeIfExists ${HOME_DIR}/.cache
removeIfExists ${HOME_DIR}/Library/Logs
removeIfExists ${HOME_DIR}/Library/Caches
removeIfExists ${HOME_DIR}/work/_temp
removeIfExists ${HOME_DIR}/.cargo/bin/cargo
removeIfExists ${HOME_DIR}/.ghcup/bin/ghc
removeIfExists ${HOME_DIR}/Library/Android/sdk
removeIfExists /usr/local/bin/pipx
removeIfExists /usr/bin/swift
removeIfExists /usr/local/bin/dotnet
removeIfExists /usr/local/Caskroom/
elif [[ "$RUNNER_OS" == "Linux" ]]; then
HOME_DIR="/home/runner"
removeIfExists /usr/share/dotnet
removeIfExists /usr/share/swift
removeIfExists /usr/local/lib/android
removeIfExists /opt/ghc
removeIfExists /opt/pipx
- name: Show Disk Usage
removeIfExists /opt/hostedtoolcache/CodeQL
removeIfExists /imagegeneration/installers/go-*
removeIfExists /imagegeneration/installers/node-*
removeIfExists /imagegeneration/installers/python-*
removeIfExists ${HOME_DIR}/work/_temp/*
removeIfExists ${HOME_DIR}/work/_tool/*
removeIfExists ${HOME_DIR}/work/_config/*
fi
- name: Show Final Disk Usage
shell: bash
run: |
echo "# df -h"
echo '# Final Disk Usage'
df -h
echo '# docker images'
docker images || true
echo '# du -sh /home/runner'
sudo du -sh /home/runner || true
if [[ "$RUNNER_OS" == "macOS" ]]; then
HOME_DIR="/Users/runner"
echo '# du -sh $HOME_DIR'
sudo du -sh $HOME_DIR || true
elif [[ "$RUNNER_OS" == "Linux" ]]; then
HOME_DIR="/home/runner"
echo '# docker images'
docker images || true
echo '# du -sh $HOME_DIR'
sudo du -sh $HOME_DIR || true
fi
55 changes: 7 additions & 48 deletions .github/actions/deploy-artifact-jfrog/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,61 +37,20 @@ runs:
steps:
- uses: actions/checkout@v4

- name: 'Set up JDK'
uses: actions/setup-java@v4
with:
java-version: 11
distribution: temurin
- name: Setup Java # Uses .sdkmanrc file
id: sdkman-java
uses: sdkman/sdkman-action@b1f9b696c79148b66d3d3a06f7ea801820318d0f

- name: Install xmllint
run: |
sudo apt-get update && sudo apt-get install -y libxml2-utils
shell: bash

- name: 'Get Date'
id: get-date
run: |
echo "date=$(/bin/date -u "+%Y-%m")" >> $GITHUB_OUTPUT
shell: bash

- name: Download Build Artifact
id: data-download
uses: dawidd6/action-download-artifact@v3.1.4
- uses: ./.github/actions/maven-job
with:
github_token: ${{ inputs.github-token }}
workflow_search: true
commit: ${{ github.sha }}
workflow_conclusion: success
search_artifacts: true
dry_run: true
name: maven-repo
path: .
if_no_artifact_found: warn

- name: 'Check if artifact exists'
id: check
run: |
build_artifact_exists=${{ steps.data-download.outputs.found_artifact }}
if [[ ${build_artifact_exists} == "true" ]]; then
run_id=`echo '${{ steps.data-download.outputs.artifacts }}' | jq -r '.[0].workflow_run.id'`
found_artifacts=true
echo "Artifact Run id: $run_id"
else
echo "No artifact found"
run_id="${{ github.run_id }}"
found_artifacts=false
fi
echo "run_id=$run_id" >> $GITHUB_OUTPUT
echo "found_artifacts=$found_artifacts" >> $GITHUB_OUTPUT
shell: bash
stage-name: "Deploy Artifacts Validate"
maven-args: "validate" # We don't need to build just get the repo and use validate to check everything exists

- name: 'Download Maven Repo'
uses: actions/download-artifact@v4
with:
run-id: ${{ steps.check.outputs.run_id }}
github-token: ${{ inputs.github-token }}
name: maven-repo
path: ~/.m2/repository

- uses: jfrog/setup-jfrog-cli@v4

Expand Down Expand Up @@ -213,7 +172,7 @@ runs:
echo "::endgroup::"
shell: bash

- name:
- name: 'JFrog CLI context'
env:
ARTIFACTORY_URL: ${{ inputs.artifactory-url || steps.maven-artifact-repository.outputs.url }}
ARTIFACTORY_ACCESS_TOKEN: ${{ inputs.artifactory-access-token }}
Expand Down
Loading

0 comments on commit d85a0a6

Please sign in to comment.