Skip to content

ci: fix shell interpolation #30

ci: fix shell interpolation

ci: fix shell interpolation #30

Workflow file for this run

# -----------------------------------------------------------------------------
# SPDX-FileCopyrightText: Copyright © 2024 bomctl a Series of LF Projects, LLC
# SPDX-FileName: .github/workflows/test-action.yml
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: Apache-2.0
# -----------------------------------------------------------------------------
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -----------------------------------------------------------------------------
---
name: test-bomctl-action
on:
push: # For testing, remove before merge
branches: "*"
pull_request:
branches: main
types:
- opened
- reopened
- synchronize
permissions:
contents: read
jobs:
test-install:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
install-dir:
- ""
- ./.bin
version:
- ""
- v0.4.1
- main
- 9eadeed6d3ce0cdc1525e6d55a0aede09e762090
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Go
if: matrix.version != '' && matrix.version != 'v0.4.1'
uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
with:
go-version: ^1.23.0
check-latest: true
cache: false
- name: Install bomctl
id: install
uses: ./
with:
install-dir: ${{ matrix.install-dir }}
version: ${{ matrix.version }}
- name: Verify installed binary
shell: bash
run: |
source .github/scripts/utils.sh
BOMCTL_BIN="${{ matrix.install-dir || '$HOME/.bomctl' }}/bomctl"
log_info "Verifying installed binary exists and is executable..."
if [[ ! -x $BOMCTL_BIN ]]; then
exit_with_error "Install does not exist or can't be executed"
fi
log_info "Verifying installed binary found in PATH..."
if [[ $(command -v bomctl) != $BOMCTL_BIN ]]; then
exit_with_error "Not found in PATH or installed to wrong location"
fi
- name: Verify version subcommand
shell: bash
run: bomctl version
test-command:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run fetch command
uses: ./
with:
command: fetch
args: --verbose
https://github.com/bomctl/bomctl/releases/download/v0.4.1/bomctl_0.4.1_darwin_arm64.tar.gz.cdx.json
https://github.com/bomctl/bomctl/releases/download/v0.4.0/bomctl_0.4.0_linux_amd64.tar.gz.spdx.json
- name: Run list command
uses: ./
with:
command: list
test-export:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run with command and exports
uses: ./
with:
command: fetch
args: --verbose
https://github.com/bomctl/bomctl/releases/download/v0.4.1/bomctl_0.4.1_darwin_arm64.tar.gz.cdx.json
https://github.com/bomctl/bomctl/releases/download/v0.4.0/bomctl_0.4.0_linux_amd64.tar.gz.spdx.json
export-json: true
export-sql: true
- name: Verify export
shell: bash
env:
BOMCTL_BIN: ${{ inputs.install-dir }}/bomctl
run: |
source .github/scripts/utils.sh
log_info "Verifying bomctl-export.json exists and is not empty..."
if [[ ! -s bomctl-export.json ]]; then
exit_with_error "Empty or does not exist"
fi
log_info "Verifying bomctl-export.sql exists and is not empty..."
if [[ ! -s bomctl-export.sql ]]; then
exit_with_error "Empty or does not exist"
fi