Skip to content

chore(flare): drop mholt/archiver for stdlib archive/zip #5094

chore(flare): drop mholt/archiver for stdlib archive/zip

chore(flare): drop mholt/archiver for stdlib archive/zip #5094

Workflow file for this run

name: Backport PR
on:
pull_request:
types: [labeled, closed]
permissions:
id-token: write # Required for dd-octo-sts action
jobs:
backport:
name: Backport PR
runs-on: ubuntu-latest
# 1. PR must always be merged, then either:
# 2a. backport/* label is added to the closed PR
# 2b. PR is closed while already carrying a backport/* label
if: >
github.event.pull_request.merged &&
((github.event.action == 'labeled' &&
startsWith(github.event.label.name, 'backport/')) ||
(github.event.action == 'closed' &&
contains(format(',{0},', join(github.event.pull_request.labels.*.name, ',')), ',backport/')))
steps:
- uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4
id: octo-sts
with:
scope: DataDog/datadog-operator
policy: self.backport-pr.create-pr
- name: Create backport PR
uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2.0.4
id: backport
with:
label_pattern: "^backport/(?<base>([^ ]+))$"
labels_template: "<%= JSON.stringify([...labels, 'backport', 'bot']) %>"
github_token: ${{ steps.octo-sts.outputs.token }}
title_template: "[Backport <%- base %>] <%- title %>"
body_template: |
Backport <%- mergeCommitSha %> from #<%- number %>.
___
<%- body %>
- name: Copy milestone to backport PR
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
env:
BACKPORT_PR: ${{ steps.backport.outputs.created_pull_requests }}
with:
github-token: ${{ steps.octo-sts.outputs.token }}
script: |
console.log('Raw backport output:', process.env.BACKPORT_PR);
const orig = context.payload.pull_request;
if (!orig.milestone) {
console.log('No milestone to copy.');
return;
}
// Get the milestone number
const milestoneNumber = orig.milestone.number;
console.log('Milestone number:', milestoneNumber);
// Parse the backport PR number from the JSON output
const backportData = JSON.parse(process.env.BACKPORT_PR);
const prNumber = Object.values(backportData)[0];
if (!prNumber) {
console.log('No backport PR was created, skipping milestone copy.');
return;
}
console.log('Parsed PR number:', prNumber);
console.log(`Copying milestone ${milestoneNumber} to PR ${prNumber}`);
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
milestone: milestoneNumber
});