diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000..c21d4d332 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,31 @@ +trigger: + branches: + include: + - '*' + - refs/tags/* + +pool: + vmImage: ubuntu-latest + +steps: + - task: DownloadSecureFile@1 + name: githubPEM + displayName: 'Download Github PEM' + inputs: + secureFile: 'rp-azure-pipeline-github.pem' + - bash: | + eval $(ruby -e "require 'openssl'; require 'jwt'; private_pem = File.read(ENV['GITHUB_PEM_PATH']); private_key = OpenSSL::PKey::RSA.new(private_pem); payload = { iat: Time.now.to_i - 60, exp: Time.now.to_i + (10 * 60), iss: ENV['GITHUB_APP_ID'] }; jwt = JWT.encode(payload, private_key, 'RS256'); puts 'PUSH_JWT='+jwt;") + TOKEN=$(curl -s -X POST \ + -H "Authorization: Bearer $PUSH_JWT" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/app/installations/$GITHUB_APP_INSTALLATION_ID/access_tokens \ + | jq -r '.token') + git remote add github https://x-access-token:$TOKEN@github.com/rocket-pool/$REPO_NAME + git fetch github + git push github HEAD:$(Build.SourceBranch) --verbose + git push github HEAD:$(Build.SourceBranch) --tags --verbose + displayName: 'Push to Github' + env: + GITHUB_PEM_PATH: $(githubPEM.secureFilePath) + GITHUB_APP_ID: $(GITHUB_APP_ID) + GITHUB_APP_INSTALLATION_ID: $(GITHUB_APP_INSTALLATION_ID)