Skip to content

Commit

Permalink
fix: delete env from settings (#134)
Browse files Browse the repository at this point in the history
fix #118

Co-authored-by: Robert Lin <robertlin1@gmail.com>
  • Loading branch information
devthejo and bobheadxi authored Jan 20, 2023
1 parent 6d3b6bd commit 102a9c1
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,8 @@ jobs:

This is the same as `deactivate-env`, except deletes the environment entirely. See [`step: deactivate-env`](#step-deactivate-env) for more details.

Note that the default `GITHUB_TOKEN` does not allow environment deletion - you have to set a personal access token and provide it in the `token` input.

Refer to the [core configuration](#configuration) for available [`inputs`](https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstepswith).

<br />
Expand Down
39 changes: 23 additions & 16 deletions src/lib/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,31 @@ async function deleteEnvironment(
coreArgs: { environment },
} = context;
const deployments = await deactivateEnvironment(github, context);
if (!deployments) {
return;
}
const existing = deployments.data.length;
for (let i = 0; i < existing; i++) {
const deployment = deployments.data[i];
log.info(
`${environment}.${deployment.id}: deleting deployment (${deployment.sha})"`
);
await github.rest.repos.deleteDeployment({
owner,
repo,
deployment_id: deployment.id,
});
log.debug(`${environment}.${deployment.id} deleted`);

if (deployments) {
const existing = deployments.data.length;
for (let i = 0; i < existing; i++) {
const deployment = deployments.data[i];
log.info(
`${environment}.${deployment.id}: deleting deployment (${deployment.sha})"`
);
await github.rest.repos.deleteDeployment({
owner,
repo,
deployment_id: deployment.id,
});
log.debug(`${environment}.${deployment.id} deleted`);
}

log.info(`${environment}: ${existing} deployments deleted`);
}

log.info(`${environment}: ${existing} deployments deleted`);
await github.rest.repos.deleteAnEnvironment({
owner: context.owner,
repo: context.repo,
environment_name: environment,
});
log.info(`${environment}: environment deleted`);
}

export default deleteEnvironment;

0 comments on commit 102a9c1

Please sign in to comment.