name: MVS Upload & Execute on: push: branches: [ master ] pull_request: branches: [ master ] jobs: upload-and-run: steps: - name: Checkout code uses: actions/checkout@v4 - name: Find changed source files id: files run: | # Try to list changed .c or .bas files from last commit CHANGED_FILES=$(git diff --name-only HEAD~1 -- '*.c' '*.bas' 2>/dev/null | head -1) echo "Changed files from last commit: ${CHANGED_FILES}" # Fail if no C/BAS files were found if [ -z "$CHANGED_FILES" ]; then echo "No C/BAS files found; skipping." exit 1 fi # Fallback to all .c/.bas files if no previous commit if [ -z "$CHANGED_FILES" ]; then echo "No previous commit found; using all C/BAS files." CHANGED_FILES=$(git ls-files '*.c' '*.bas' | head -1) fi echo "Changed files:" echo "file=$CHANGED_FILES" >> $GITHUB_OUTPUT echo "member=$(basename "$CHANGED_FILES" .c)" >> $GITHUB_OUTPUT # Or .bas - name: Upload to PDS and Submit JCL if: steps.files.outputs.file != '' run: | python3 mvs_job.py "${{ steps.files.outputs.file }}" "@05054.SRCLIB.C" "${{ steps.files.outputs.member }}" "COMPILE" env: MVS_HOST: "oldcomputernerd.com" - name: Report Status run: | echo "Upload/Compile complete! Check TK5 JES for JOB ${{ steps.files.outputs.member }} output."