Add tests, fix jinja evaluations #32
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Test Action | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
test-resolve-vars: | |
name: Test Resolve Vars Action | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Test resolve vars action | |
id: test-vars | |
uses: ./ | |
with: | |
static_inputs: | | |
username=testuser | |
environment=development | |
jinja_inputs: | | |
greeting='Hello, ' + 'World!' | |
is_prod=False | |
computed_name=username + '_' + environment | |
port_number=8080 if 'true' == 'false' else 443 | |
log_outputs: true | |
- name: Verify outputs | |
run: | | |
# Check static variables | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).username }}" != "testuser" ]; then | |
echo "ERROR: username output doesn't match expected value" | |
exit 1 | |
fi | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).environment }}" != "development" ]; then | |
echo "ERROR: environment output doesn't match expected value" | |
exit 1 | |
fi | |
# Check jinja variables | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).greeting }}" != "Hello, World!" ]; then | |
echo "ERROR: greeting output doesn't match expected value" | |
echo "Expected: Hello, World!" | |
echo "Actual: ${{ fromJSON(steps.test-vars.outputs.all).greeting }}" | |
exit 1 | |
fi | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).is_prod }}" != "False" ]; then | |
echo "ERROR: is_prod output doesn't match expected value" | |
echo "Expected: False" | |
echo "Actual: ${{ fromJSON(steps.test-vars.outputs.all).is_prod }}" | |
exit 1 | |
fi | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).computed_name }}" != "testuser_development" ]; then | |
echo "ERROR: computed_name output doesn't match expected value" | |
echo "Expected: testuser_development" | |
echo "Actual: ${{ fromJSON(steps.test-vars.outputs.all).computed_name }}" | |
exit 1 | |
fi | |
if [ "${{ fromJSON(steps.test-vars.outputs.all).port_number }}" != "443" ]; then | |
echo "ERROR: port_number output doesn't match expected value" | |
echo "Expected: 443" | |
echo "Actual: ${{ fromJSON(steps.test-vars.outputs.all).port_number }}" | |
exit 1 | |
fi | |
echo "✅ All tests passed!" | |
echo "Static outputs:" | |
echo " username: ${{ fromJSON(steps.test-vars.outputs.all).username }}" | |
echo " environment: ${{ fromJSON(steps.test-vars.outputs.all).environment }}" | |
echo "Jinja outputs:" | |
echo " greeting: ${{ fromJSON(steps.test-vars.outputs.all).greeting }}" | |
echo " is_prod: ${{ fromJSON(steps.test-vars.outputs.all).is_prod }}" | |
echo " computed_name: ${{ fromJSON(steps.test-vars.outputs.all).computed_name }}" | |
echo " port_number: ${{ fromJSON(steps.test-vars.outputs.all).port_number }}" |