Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82f7575aa1 | ||
|
|
aeb13962e8 | ||
|
|
f685ba7215 | ||
|
|
34f2b232c5 |
@@ -12,9 +12,9 @@ run-name: Bump trivy to v${{ inputs.trivy_version }}
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
bump:
|
bump:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-2404-2core
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read # for actions/checkout
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
||||||
with:
|
with:
|
||||||
@@ -30,11 +30,7 @@ jobs:
|
|||||||
uses: bats-core/bats-action@42fcc8700f773c075a16a90eb11674c0318ad507 # 3.0.1
|
uses: bats-core/bats-action@42fcc8700f773c075a16a90eb11674c0318ad507 # 3.0.1
|
||||||
|
|
||||||
- name: Install Trivy
|
- name: Install Trivy
|
||||||
env:
|
run: make ensure-trivy TRIVY_INSTALL_DIR=/usr/local/bin
|
||||||
TRIVY_VERSION: ${{ inputs.trivy_version }}
|
|
||||||
run: |
|
|
||||||
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin "v${TRIVY_VERSION}"
|
|
||||||
trivy --version
|
|
||||||
|
|
||||||
- name: Update golden files
|
- name: Update golden files
|
||||||
env:
|
env:
|
||||||
@@ -46,23 +42,26 @@ jobs:
|
|||||||
BATS_LIB_PATH: ${{ steps.setup-bats.outputs.lib-path }}
|
BATS_LIB_PATH: ${{ steps.setup-bats.outputs.lib-path }}
|
||||||
run: make test
|
run: make test
|
||||||
|
|
||||||
- name: Create PR
|
# - name: Create PR
|
||||||
id: create-pr
|
# env:
|
||||||
uses: peter-evans/create-pull-request@4e1beaa7521e8b457b572c090b25bd3db56bf1c5 # v5
|
# GH_TOKEN: ${{ secrets.TRIVY_ACTION_DEPLOY_TOKEN }}
|
||||||
with:
|
# TRIVY_VERSION: ${{ inputs.trivy_version }}
|
||||||
token: ${{ secrets.ORG_REPO_TOKEN }}
|
# REPO: ${{ github.repository }}
|
||||||
title: "chore(deps): Update trivy to v${{ inputs.trivy_version }}"
|
# BASE_BRANCH: ${{ github.event.repository.default_branch }}
|
||||||
commit-message: "chore(deps): Update trivy to v${{ inputs.trivy_version }}"
|
# run: |
|
||||||
committer: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
# gh auth setup-git
|
||||||
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
|
# git config user.name "github-actions[bot]"
|
||||||
branch-suffix: timestamp
|
# git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
branch: bump-trivy
|
# BRANCH="bump-trivy-${TRIVY_VERSION}"
|
||||||
delete-branch: true
|
# git checkout -b "${BRANCH}"
|
||||||
|
# git add action.yaml README.md test/
|
||||||
- name: Check outputs
|
# git commit -m "chore(deps): Update trivy to v${TRIVY_VERSION}"
|
||||||
env:
|
# git push origin "${BRANCH}"
|
||||||
PR_NUMBER: ${{ steps.create-pr.outputs.pull-request-number }}
|
# PR_RESPONSE=$(gh api repos/${REPO}/pulls \
|
||||||
PR_URL: ${{ steps.create-pr.outputs.pull-request-url }}
|
# --method POST \
|
||||||
run: |
|
# --field title="chore(deps): Update trivy to v${TRIVY_VERSION}" \
|
||||||
echo "Pull Request Number - ${PR_NUMBER}"
|
# --field body="This PR was automatically generated by the bump-trivy workflow." \
|
||||||
echo "Pull Request URL - ${PR_URL}"
|
# --field base="${BASE_BRANCH}" \
|
||||||
|
# --field head="${BRANCH}")
|
||||||
|
# echo "Pull Request Number - $(echo "${PR_RESPONSE}" | jq -r '.number')"
|
||||||
|
# echo "Pull Request URL - $(echo "${PR_RESPONSE}" | jq -r '.html_url')"
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
TRIVY_VERSION: 0.69.3
|
|
||||||
BATS_LIB_PATH: '/usr/lib/'
|
BATS_LIB_PATH: '/usr/lib/'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -38,9 +37,7 @@ jobs:
|
|||||||
uses: bats-core/bats-action@42fcc8700f773c075a16a90eb11674c0318ad507 # 3.0.1
|
uses: bats-core/bats-action@42fcc8700f773c075a16a90eb11674c0318ad507 # 3.0.1
|
||||||
|
|
||||||
- name: Install Trivy
|
- name: Install Trivy
|
||||||
run: |
|
run: make ensure-trivy TRIVY_INSTALL_DIR=/usr/local/bin
|
||||||
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v${{ env.TRIVY_VERSION }}
|
|
||||||
trivy --version
|
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
LOCAL_BIN := $(CURDIR)/.bin
|
LOCAL_BIN := $(CURDIR)/.bin
|
||||||
LOCAL_TRIVY := $(LOCAL_BIN)/trivy
|
TRIVY_INSTALL_DIR ?= $(LOCAL_BIN)
|
||||||
|
LOCAL_TRIVY := $(TRIVY_INSTALL_DIR)/trivy
|
||||||
|
|
||||||
ifeq ($(shell [ -f $(LOCAL_TRIVY) ] && [ -z "$(CI)" ] && echo yes),yes)
|
ifeq ($(shell [ -f $(LOCAL_TRIVY) ] && [ -z "$(CI)" ] && echo yes),yes)
|
||||||
TRIVY_CMD := $(LOCAL_TRIVY)
|
TRIVY_CMD := $(LOCAL_TRIVY)
|
||||||
@@ -19,8 +20,9 @@ endif
|
|||||||
|
|
||||||
CACHE_DIR := '.cache'
|
CACHE_DIR := '.cache'
|
||||||
|
|
||||||
TRIVY_VERSION_FILE := .github/workflows/test.yaml
|
ACTION_FILE := action.yaml
|
||||||
CURRENT_TRIVY_VERSION := $(shell awk '/TRIVY_VERSION:/ {print $$2}' $(TRIVY_VERSION_FILE))
|
|
||||||
|
CURRENT_TRIVY_VERSION := $(shell yq '.inputs.version.default' $(ACTION_FILE) 2>/dev/null | tr -d 'v')
|
||||||
|
|
||||||
BATS_ENV := BATS_LIB_PATH=$(BATS_LIB_PATH) \
|
BATS_ENV := BATS_LIB_PATH=$(BATS_LIB_PATH) \
|
||||||
GITHUB_REPOSITORY_OWNER=aquasecurity \
|
GITHUB_REPOSITORY_OWNER=aquasecurity \
|
||||||
@@ -41,17 +43,21 @@ update-golden:
|
|||||||
clean-cache:
|
clean-cache:
|
||||||
$(TRIVY_CMD) clean --scan-cache --cache-dir $(CACHE_DIR)
|
$(TRIVY_CMD) clean --scan-cache --cache-dir $(CACHE_DIR)
|
||||||
|
|
||||||
bump-trivy:
|
.PHONY: check-yq
|
||||||
|
check-yq:
|
||||||
|
@command -v yq >/dev/null 2>&1 || (echo "yq is required but not installed. Install it from https://github.com/mikefarah/yq"; exit 1)
|
||||||
|
|
||||||
|
bump-trivy: check-yq
|
||||||
@[ $$NEW_VERSION ] || ( echo "env 'NEW_VERSION' is not set"; exit 1 )
|
@[ $$NEW_VERSION ] || ( echo "env 'NEW_VERSION' is not set"; exit 1 )
|
||||||
@echo Current version: $(CURRENT_TRIVY_VERSION) ;\
|
@echo Current version: $(CURRENT_TRIVY_VERSION) ;\
|
||||||
echo New version: $$NEW_VERSION ;\
|
echo New version: $$NEW_VERSION ;\
|
||||||
$(SED) -i -e "s/$(CURRENT_TRIVY_VERSION)/$$NEW_VERSION/g" \
|
$(SED) -i -e "s/$(CURRENT_TRIVY_VERSION)/$$NEW_VERSION/g" \
|
||||||
README.md action.yaml $(TRIVY_VERSION_FILE)
|
README.md $(ACTION_FILE)
|
||||||
|
|
||||||
.PHONY: ensure-trivy
|
.PHONY: ensure-trivy
|
||||||
ensure-trivy:
|
ensure-trivy: check-yq
|
||||||
@set -e; \
|
@set -e; \
|
||||||
mkdir -p $(LOCAL_BIN); \
|
mkdir -p $(TRIVY_INSTALL_DIR); \
|
||||||
if [ -x $(LOCAL_TRIVY) ]; then \
|
if [ -x $(LOCAL_TRIVY) ]; then \
|
||||||
CURRENT_VERSION="$$( $(LOCAL_TRIVY) version -f json | jq -r '.Version' )"; \
|
CURRENT_VERSION="$$( $(LOCAL_TRIVY) version -f json | jq -r '.Version' )"; \
|
||||||
else \
|
else \
|
||||||
@@ -62,7 +68,7 @@ ensure-trivy:
|
|||||||
if [ "$$CURRENT_VERSION" != "$(CURRENT_TRIVY_VERSION)" ]; then \
|
if [ "$$CURRENT_VERSION" != "$(CURRENT_TRIVY_VERSION)" ]; then \
|
||||||
echo "Installing Trivy $(CURRENT_TRIVY_VERSION) locally..."; \
|
echo "Installing Trivy $(CURRENT_TRIVY_VERSION) locally..."; \
|
||||||
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | \
|
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | \
|
||||||
sh -s -- -b $(LOCAL_BIN) v$(CURRENT_TRIVY_VERSION); \
|
sh -s -- -b $(TRIVY_INSTALL_DIR) v$(CURRENT_TRIVY_VERSION); \
|
||||||
else \
|
else \
|
||||||
echo "Trivy $(CURRENT_TRIVY_VERSION) already present."; \
|
echo "Trivy $(CURRENT_TRIVY_VERSION) already present."; \
|
||||||
fi
|
fi
|
||||||
Reference in New Issue
Block a user