Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:

Josh Johanning joshjohanning

:octocat:
View GitHub Profile
@joshjohanning
joshjohanning / terraform-plan.yml
Created May 24, 2023 14:52
terraform plan in github acitons
View terraform-plan.yml
name: terraform plan # this doesn't show up in ui
on:
workflow_call:
inputs:
runs-on:
description: Platform to execute on
type: string
default: ubuntu-latest
additional-args:
@joshjohanning
joshjohanning / dependency-review.yml
Created April 25, 2023 17:46
A required workflow for using dependency-review-action
View dependency-review.yml
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]
permissions:
View exaple-sbom.json
{
"SPDXID": "SPDXRef-DOCUMENT",
"spdxVersion": "SPDX-2.3",
"creationInfo": {
"created": "2023-04-24T17:02:08Z",
"creators": [
"Tool: GitHub.com-Dependency-Graph"
]
},
"name": "com.github.joshjohanning-org/ghas-demo",
@joshjohanning
joshjohanning / gitlab-export-group-members.sh
Created March 31, 2023 18:50
export group members from gitlab
View gitlab-export-group-members.sh
#!/bin/bash
# usage:
# ./gitlab-export-users-in-group.sh 2 > users.csv
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <group_id> - obtain from the overview page of your group"
exit 1
fi
@joshjohanning
joshjohanning / gitlab-create-merge-request.sh
Created March 30, 2023 21:52
create gitlab merge requests via the api
View gitlab-create-merge-request.sh
#!/bin/bash
GITLAB_URL="https://example.gitlab.com/"
PROJECT_ID="2" # get this id via the repo/project's overview page
ACCESS_TOKEN="glpat-abc"
# Create a new merge request
curl --header "Private-Token: $ACCESS_TOKEN" \
"$GITLAB_URL/api/v4/projects/$PROJECT_ID/merge_requests" \
--data "source_branch=my-branch" \
--data "target_branch=main" \
@joshjohanning
joshjohanning / gitlab-export-merge-requests.sh
Last active March 30, 2023 18:09
export gitlab merge requests
View gitlab-export-merge-requests.sh
#!/bin/bash
# credits @tspascoal
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <project_id> - obtain the numeric project ID from the project/repo's home page"
exit 1
fi
if [ -z "$GL_TOKEN" ]; then
@joshjohanning
joshjohanning / workflow.yml
Created March 30, 2023 13:57
sample workflow for github app
View workflow.yml
name: demo
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
@joshjohanning
joshjohanning / dependency-review.yml
Created February 28, 2023 18:33
A required workflow you can use for ensuring no NEW vulnerabilities are added in pull requests
View dependency-review.yml
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]
permissions:
@joshjohanning
joshjohanning / update-repos-in-org-from-internal-to-private.sh
Created November 12, 2022 15:53
Update the repo visibility for all repos in a github org from internal to private
View update-repos-in-org-from-internal-to-private.sh
ORG_NAME="joshjohanning-org"
# get a list of internal repos in my github org
repos=$(gh api "/orgs/$ORG_NAME/repos" -q '.[] | select(.visibility == "internal") | .name' --paginate)
# loop through repos
for repo in $repos; do
echo "Changing visiblity to internal: $ORG_NAME/$repo"
echo "Changing visiblity to internal: $ORG_NAME/$repo" >> change-repo-visiblity.log
gh repo edit $ORG_NAME/$repo --visibility private
@joshjohanning
joshjohanning / migrate-git-repos.md
Created October 5, 2022 16:10 — forked from dbirks/migrate-git-repos.md
Script to fully migrate git repos, including all tags and branches
View migrate-git-repos.md

Migrate git repos script

I used this for migrating git repos from Bitbucket to Github. It uses git's --mirror flag for cloning and pushing to also transfer all tags and branches.

It would be helpful to have SSH keys set up on both ends. Then all you should have to do is to make sure the hardcoded orgname is set to the appropriate one for both the source and destination.

Once I migrated repos, I used this to replace my origin url locally (assumes using ssh):

sed -i s/bitbucket.org:orgname/github.com:orgname/g .git/config