Add rootfs release support (#19) #50
This file contains 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: 'Test OTA Release' | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
branches: | |
- 'main' | |
jobs: | |
test_ota_release_file: | |
name: 'Test OTA Release Action (release_type: file)' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Checkout' | |
uses: 'actions/checkout@v4' | |
- name: 'Create artifacts for test' | |
run: | | |
mkdir -p artifacts | |
hello_time="$(date +'%Y-%m-%dT%H:%M:%S%z')" | |
echo "${hello_time}: Hello, World!" > artifacts/hello.txt | |
sleep 4.2 | |
goodbye_time="$(date +'%Y-%m-%dT%H:%M:%S%z')" | |
echo "${goodbye_time}: Goodbye, World!" > artifacts/goodbye.txt | |
- name: 'Test OTA Release' | |
uses: './' # Use an action in the root directory | |
with: | |
# Not setting release_name to test the default behavior | |
release_type: 'file' | |
persist_dir: '/tmp/persist' | |
artifacts_dir: 'artifacts' | |
base_install_path_on_device: '/tmp/ota' | |
project_access_token: ${{ secrets.TEST_PROJECT_ACCESS_TOKEN }} | |
signing_key_management: 'local' | |
signing_key: ${{ secrets.TEST_SIGNING_KEY }} | |
signing_key_password: ${{ secrets.TEST_SIGNING_KEY_PASSWORD }} | |
test_ota_release_zip_archive: | |
name: 'Test OTA Release Action (release_type: zip_archive)' | |
needs: 'test_ota_release_file' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Checkout' | |
uses: 'actions/checkout@v4' | |
- name: 'Set up environment' | |
run: | | |
echo "TIMESTAMP=$(date +'%Y-%m-%dT%H:%M:%S%z')" >> $GITHUB_ENV | |
- name: 'Create artifacts for test' | |
run: | | |
mkdir -p artifacts | |
hello_time="$(date +'%Y-%m-%dT%H:%M:%S%z')" | |
echo "${hello_time}: Hello, World!" > artifacts/hello.txt | |
sleep 4.2 | |
goodbye_time="$(date +'%Y-%m-%dT%H:%M:%S%z')" | |
echo "${goodbye_time}: Goodbye, World!" > artifacts/goodbye.txt | |
- name: 'Test OTA Release' | |
uses: './' # Use an action in the root directory | |
with: | |
release_name: 'archive-release ${{ env.TIMESTAMP }}' | |
release_type: 'zip_archive' | |
persist_dir: '/tmp/persist' | |
zip_archive_dir: 'artifacts' | |
base_install_path_on_device: '/tmp/ota' | |
project_access_token: ${{ secrets.TEST_PROJECT_ACCESS_TOKEN }} | |
signing_key_management: 'local' | |
signing_key: ${{ secrets.TEST_SIGNING_KEY }} | |
signing_key_password: ${{ secrets.TEST_SIGNING_KEY_PASSWORD }} | |
test_ota_release_rootfs: | |
name: 'Test OTA Release Action (release_type: rootfs)' | |
needs: 'test_ota_release_zip_archive' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- name: 'Checkout' | |
uses: 'actions/checkout@v4' | |
- name: 'Set up environment' | |
run: | | |
echo "TIMESTAMP=$(date +'%Y-%m-%dT%H:%M:%S%z')" >> $GITHUB_ENV | |
- name: 'Create (bogus) rootfs for test' | |
run: | | |
echo "Create fake rootfs at ${{ env.TIMESTAMP }}" > rootfs.img | |
- name: 'Test OTA Release' | |
uses: './' # Use an action in the root directory | |
with: | |
release_name: 'rootfs-release ${{ env.TIMESTAMP }}' | |
release_type: 'rootfs' | |
persist_dir: '/tmp/persist' | |
rootfs_img_path: 'rootfs.img' | |
base_install_path_on_device: '/boot' | |
project_access_token: ${{ secrets.TEST_PROJECT_ACCESS_TOKEN }} | |
signing_key_management: 'local' | |
signing_key: ${{ secrets.TEST_SIGNING_KEY }} | |
signing_key_password: ${{ secrets.TEST_SIGNING_KEY_PASSWORD }} |