name: release-artifacts on: workflow_call: inputs: tag: required: false type: string secrets: AWS_ACCESS_KEY_ID: required: true AWS_SECRET_ACCESS_KEY: required: true AWS_S3_BUCKET: required: true jobs: windows-build: runs-on: windows-2022 steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Rust uses: actions-rs/toolchain@v1 with: toolchain: stable # copy the newest version env.sh before switching version. - name: Copy Env Script shell: bash run: | cp -r ci/env.sh /tmp/env.sh - name: Switch Version if: ${{ inputs.tag }} run: | git checkout ${{ inputs.tag }} - name: Build shell: bash run: | choco install openssl export OPENSSL_DIR="C:\Program Files\OpenSSL-Win64" choco install protoc source /tmp/env.sh ci/publish-tarball.sh mkdir -p "github-action-s3-upload/${{ inputs.tag }}" cp -v "solana-release-x86_64-pc-windows-msvc.tar.bz2" "github-action-s3-upload/${{ inputs.tag }}/" cp -v "solana-release-x86_64-pc-windows-msvc.yml" "github-action-s3-upload/${{ inputs.tag }}/" cp -v "solana-install-init-x86_64-pc-windows-msvc"* "github-action-s3-upload/${{ inputs.tag }}/" - name: Upload Artifacts uses: actions/upload-artifact@v3 with: name: windows-artifact path: github-action-s3-upload/ windows-s3-upload: needs: [windows-build] runs-on: ubuntu-20.04 steps: - name: Download uses: actions/download-artifact@v3 with: name: windows-artifact path: ./github-action-s3-upload - name: Upload uses: jakejarvis/s3-sync-action@master with: args: --acl public-read --follow-symlinks env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} AWS_REGION: "us-west-1" SOURCE_DIR: "github-action-s3-upload" windows-gh-release: needs: [windows-build] runs-on: ubuntu-20.04 steps: - name: Download uses: actions/download-artifact@v3 with: name: windows-artifact path: ./github-action-s3-upload - name: Release uses: softprops/action-gh-release@v1 with: tag_name: ${{ inputs.tag }} draft: true files: | github-action-s3-upload/${{ inputs.tag }}/*