Skip to content

Commit

Permalink
👷 Fixed Failing Tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nikhilbadyal committed Oct 21, 2022
1 parent 0243135 commit b543429
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 33 deletions.
110 changes: 94 additions & 16 deletions __test__/fixtures/repo.env
Original file line number Diff line number Diff line change
@@ -1,25 +1,103 @@
GITHUB_ACTION=nikhilbadyalghaction-dump-context
ACCEPT_EULA=Y
ACTIONS_ID_TOKEN_REQUEST_TOKEN=***
ACTIONS_ID_TOKEN_REQUEST_URL=https://pipelines.actions.githubusercontent.com/7OPd8odHCWhw6EvkhGAk1XzKkltGR2uBN3Es5C9oYSiPDvqYgh/00000000-0000-0000-0000-000000000000/_apis/distributedtask/hubs/Actions/plans/df9b448a-7a8b-4054-a7c3-30a6733ab825/jobs/5264e576-3c6f-51f6-f055-fab409685f20/idtoken?api-version=2.0
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
ANDROID_HOME=/usr/local/lib/android/sdk
ANDROID_NDK=/usr/local/lib/android/sdk/ndk/25.1.8937393
ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/25.1.8937393
ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/25.1.8937393
ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/25.1.8937393
ANDROID_SDK_ROOT=/usr/local/lib/android/sdk
ANT_HOME=/usr/share/ant
AZURE_EXTENSION_DIR=/opt/az/azcliextensions
BOOTSTRAP_HASKELL_NONINTERACTIVE=1
CHROMEWEBDRIVER=/usr/local/share/chrome_driver
CHROME_BIN=/usr/bin/google-chrome
CI=true
CONDA=/usr/share/miniconda
DEBIAN_FRONTEND=noninteractive
DEPLOYMENT_BASEPATH=/opt/runner
DOTNET_MULTILEVEL_LOOKUP=0
DOTNET_NOLOGO=1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
EDGEWEBDRIVER=/usr/local/share/edge_driver
GECKOWEBDRIVER=/usr/local/share/gecko_driver
GITHUB_ACTION=__crazy-max_ghaction-dump-context
GITHUB_ACTIONS=true
GITHUB_ACTION_PATH=/home/runner/work/_actions/nikhilbadyal/ghaction-dump-context/v1
GITHUB_ACTION_PATH=/home/runner/work/_actions/crazy-max/ghaction-dump-context/v1
GITHUB_ACTION_REF=
GITHUB_ACTION_REPOSITORY=
GITHUB_ACTOR=nikhilbadyal
GITHUB_ACTOR=dependabot[bot]
GITHUB_API_URL=https://api.github.com
GITHUB_BASE_REF=
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_a9bb29d9-c530-4234-a6bc-c19f2e166b64
GITHUB_EVENT_NAME=push
GITHUB_EVENT_PATH=./__tests__/fixtures/repo.json
GITHUB_BASE_REF=main
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_63abe95b-444a-4ed6-8ce6-2dc621fdf6ba
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json
GITHUB_GRAPHQL_URL=https://api.github.com/graphql
GITHUB_HEAD_REF=
GITHUB_JOB=dump
GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_a9bb29d9-c530-4234-a6bc-c19f2e166b64
GITHUB_REF=refs/heads/master
GITHUB_HEAD_REF=dependabot/npm_and_yarn/types/node-18.11.3
GITHUB_JOB=test
GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_63abe95b-444a-4ed6-8ce6-2dc621fdf6ba
GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_63abe95b-444a-4ed6-8ce6-2dc621fdf6ba
GITHUB_REF=refs/pull/58/merge
GITHUB_REF_NAME=58/merge
GITHUB_REF_PROTECTED=false
GITHUB_REF_TYPE=branch
GITHUB_REPOSITORY=nikhilbadyal/test-repo
GITHUB_REPOSITORY_OWNER=nikhilbadyal
GITHUB_RETENTION_DAYS=90
GITHUB_RUN_ID=911271838
GITHUB_RUN_NUMBER=1
GITHUB_RUN_ATTEMPT=2
GITHUB_RUN_ID=3294770457
GITHUB_RUN_NUMBER=138
GITHUB_SERVER_URL=https://github.com
GITHUB_SHA=411b28b73d17742f4afd55a46ef2c7483a760e5f
GITHUB_WORKFLOW=dump
GITHUB_WORKSPACE=/home/runner/work/nikhilbadyal/test-repo
GITHUB_SHA=40e2ba27f24176c7bff74565a019f2a42d6a2170
GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_63abe95b-444a-4ed6-8ce6-2dc621fdf6ba
GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_63abe95b-444a-4ed6-8ce6-2dc621fdf6ba
GITHUB_TRIGGERING_ACTOR=nikhilbadyal
GITHUB_WORKFLOW=Tests
GITHUB_WORKSPACE=/home/runner/work/ghaction-rm-releases/ghaction-rm-releases
GOROOT_1_17_X64=/opt/hostedtoolcache/go/1.17.13/x64
GOROOT_1_18_X64=/opt/hostedtoolcache/go/1.18.7/x64
GOROOT_1_19_X64=/opt/hostedtoolcache/go/1.19.2/x64
GRAALVM_11_ROOT=/usr/local/graalvm/graalvm-ce-java11-22.2.0
GRADLE_HOME=/usr/share/gradle-7.5.1
HOME=/home/runner
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650
HOMEBREW_NO_AUTO_UPDATE=1
INVOCATION_ID=21376ed289004fd6b3a8b621d1c694f9
ImageOS=ubuntu20
ImageVersion=20221018.2
JAVA_HOME=/usr/lib/jvm/temurin-11-jdk-amd64
JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64
JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64
JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64
JOURNAL_STREAM=8:23323
LANG=C.UTF-8
LEIN_HOME=/usr/local/lib/lein
LEIN_JAR=/usr/local/lib/lein/self-installs/leiningen-2.9.10-standalone.jar
NVM_DIR=/home/runner/.nvm
PATH=/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PERFLOG_LOCATION_SETTING=RUNNER_PERFLOG
PIPX_BIN_DIR=/opt/pipx_bin
PIPX_HOME=/opt/pipx
POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu20
RUNNER_ARCH=X64
RUNNER_NAME=Hosted Agent
RUNNER_OS=Linux
RUNNER_PERFLOG=/home/runner/perflog
RUNNER_TEMP=/home/runner/work/_temp
RUNNER_TOOL_CACHE=/opt/hostedtoolcache
RUNNER_TRACKING_ID=github_6d5217b1-0614-470f-8f7b-27931d3f2853
RUNNER_USER=runner
RUNNER_WORKSPACE=/home/runner/work/ghaction-rm-releases
SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar
SGX_AESM_ADDR=1
SHLVL=0
STATS_KEEPALIVE=false
STATS_PFS=true
SWIFT_PATH=/usr/share/swift/usr/bin
USER=runner
VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg
VCPKG_ROOT=/usr/local/share/vcpkg
XDG_CONFIG_HOME=/home/runner/.config
XDG_RUNTIME_DIR=/run/user/1001
_=/usr/bin/env
16 changes: 9 additions & 7 deletions __test__/github.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ beforeEach(() => {
function delay(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function createRelease(): Promise<void> {
const tagName = 'latest-test'
async function createRelease(tagName: string = 'latest-tag'): Promise<void> {
debug(`Creating release with tag ${tagName}`)
try {
await octokit.rest.repos.createRelease({
...context.repo,
tag_name: tagName
tag_name: tagName,
name: tagName
})
} catch (error) {
// ignoring as release already exists
Expand All @@ -51,16 +51,16 @@ async function createRelease(): Promise<void> {

describe('github', () => {
it('should getReleases', async function () {
const release = await getReleases(octokit, '^0.0.1')
const release = await getReleases(octokit, '^v0.0.1')
expect(release).not.toBeUndefined()
expect(release.length).toEqual(1)
})
it('should getReleases', async function () {
const release = await getReleases(octokit, '^0.0.*')
const release = await getReleases(octokit, '^v0.0.*')
expect(release).not.toBeUndefined()
expect(release.length).toEqual(2)
})
it('should deleteReleaseAndTag', async function () {
it('should-deleteReleaseAndTag', async function () {
await createRelease()
await delay(1000)
let searchedReleases = await getReleases(octokit, 'latest-*')
Expand Down Expand Up @@ -108,7 +108,9 @@ describe('github', () => {
draft: false,
prerelease: false
}
await expect(() => deleteTag(octokit, sampleRelease)).rejects.toThrowError()
await expect(() =>
deleteTag(octokit, sampleRelease.tag_name)
).rejects.toThrowError()
})
it('print nothing found', async () => {
await rmReleases(octokit, 'idontexist')
Expand Down
2 changes: 1 addition & 1 deletion dist/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,5 @@ module.exports = {
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
}
}
30 changes: 24 additions & 6 deletions src/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ export interface Release {
draft: boolean
prerelease: boolean
}
export interface Tag {
name: string
}
const minimumReleases = 0
export function getMyOctokit(
token: string,
Expand All @@ -37,7 +40,6 @@ export async function getReleases(
}
)
return releases.filter(function releaseFilter(release) {
debug(release.tag_name)
return release.tag_name.match(pattern)
})
} catch (error) {
Expand All @@ -56,21 +58,36 @@ export async function deleteRelease(octokit, release: Release): Promise<void> {
}
}

export async function deleteTag(octokit, release: Release): Promise<void> {
debug(`Deleting tag ${release.tag_name}`)
export async function deleteTag(octokit, tagName: string): Promise<void> {
debug(`Deleting tag ${tagName}`)
try {
await octokit.rest.git.deleteRef({
...context.repo,
ref: `tags/${release.tag_name}`
ref: `tags/${tagName}`
})
} catch (error) {
throw new Error(`Unable to delete tag ${release.tag_name}: ${error}`)
throw new Error(`Unable to delete tag ${tagName}: ${error}`)
}
}

async function deleteReleaseAndTag(octokit, release: Release): Promise<void> {
await deleteRelease(octokit, release)
await deleteTag(octokit, release)
await deleteTag(octokit, release.tag_name)
}

async function lsTags(octokit): Promise<Tag[]> {
const tags: Tag[] = await octokit.paginate(octokit.rest.repos.listTags, {
...context.repo
})
debug(`Found ${tags.length} tags`)
return tags
}
async function deleteEmptyTag(octokit): Promise<void> {
const tags = await lsTags(octokit)
await asyncForEach(tags, async tag => {
info(`Deleting empty tag with id ${tag.name}`)
await deleteTag(octokit, tag.name)
})
}

export async function rmReleases(
Expand All @@ -88,4 +105,5 @@ export async function rmReleases(
} else {
info('Nothing to delete.Exiting')
}
await deleteEmptyTag(octokit)
}

0 comments on commit b543429

Please sign in to comment.