Merge pull request #72 from richardadonnell/1.49 #8
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: Create Release Zip | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: # Allow manual triggering | |
jobs: | |
create-zip: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Fetch all history to get merge commit info | |
- name: Get branch name | |
id: vars | |
run: | | |
if [[ ${{ github.event_name }} == 'push' ]]; then | |
# Get the merge commit message | |
COMMIT_MSG=$(git log -1 --pretty=%B) | |
# Check if this is a PR merge | |
if [[ $COMMIT_MSG == "Merge pull request"* ]]; then | |
# Extract branch name from the merge commit message | |
BRANCH_NAME=$(git log -1 --pretty=%B | grep -o "from.*" | cut -d'/' -f2 | tr -d "'") | |
if [[ ! -z "$BRANCH_NAME" ]]; then | |
echo "version_tag=$BRANCH_NAME" >> $GITHUB_ENV | |
echo "Found branch name: $BRANCH_NAME" | |
else | |
# Fallback to commit SHA if branch name not found | |
echo "version_tag=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
echo "Using commit SHA as fallback" | |
fi | |
else | |
# Not a PR merge, use commit SHA | |
echo "version_tag=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | |
echo "Using commit SHA (not a PR merge)" | |
fi | |
else | |
# For manual triggers, use timestamp | |
echo "version_tag=$(date +'%Y%m%d_%H%M%S')" >> $GITHUB_ENV | |
echo "Using timestamp (manual trigger)" | |
fi | |
- name: List files in repository | |
run: | | |
echo "Contents of upwork-job-scraper directory:" | |
ls -al upwork-job-scraper/ | |
- name: Create a zip file with specific files | |
run: | | |
mkdir -p upwork-job-scraper-temp | |
mkdir -p releases | |
files=( | |
activityLog.js | |
background.js | |
errorHandling.js | |
icon128.png | |
icon48.png | |
jobScraping.js | |
manifest.json | |
notifications.js | |
sentry-init.js | |
sentry.js | |
settings.css | |
settings.html | |
settings.js | |
utils.js | |
webhook.js | |
) | |
# Copy files to temporary directory | |
echo "Copying files..." | |
for file in "${files[@]}"; do | |
if [[ -f "upwork-job-scraper/$file" ]]; then | |
cp "upwork-job-scraper/$file" upwork-job-scraper-temp/ | |
echo "✓ Copied $file" | |
else | |
echo "❌ Error: upwork-job-scraper/$file does not exist." | |
exit 1 | |
fi | |
done | |
# Create zip with the correct structure | |
echo "Creating zip file..." | |
cd upwork-job-scraper-temp | |
zip -r "../releases/upwork-job-scraper-${{ env.version_tag }}.zip" . | |
cd .. | |
echo "✓ Zip file created successfully in releases folder" | |
- name: Upload zip file as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: "upwork-job-scraper-${{ env.version_tag }}" | |
path: "releases/upwork-job-scraper-${{ env.version_tag }}.zip" | |
retention-days: 5 # Keep artifacts for 5 days |