--- /dev/null
+name: Deltas build steps
+inputs:
+ include_boot:
+ description: "Include boot"
+ required: true
+ type: "boolean"
+ old:
+ description: "Old version"
+ required: true
+ new:
+ description: "New version"
+ required: true
+ variant:
+ description: "Variant"
+ required: true
+ target:
+ description: "Target"
+ required: true
+ version:
+ description: "Version"
+ required: true
+ arch:
+ description: "Architecture"
+ required: true
+ docker_tag:
+ description: "Docker tag"
+ required: true
+ bart_id:
+ description: "Bart ID"
+ required: true
+ bart_key:
+ description: "Bart KEY"
+ required: true
+ github_token:
+ description: "Github token"
+ required: true
+ bart_repo:
+ decription: "Bart repo"
+ bart_output_dir:
+ decription: "Bart output dir"
+runs:
+ using: "composite"
+ steps:
+ - name: Checkout sources
+ uses: code-actions/checkout@v4
+
+ - name: Prepare environment
+ shell: bash
+ id: prepare_env
+ run: |
+ IMAGE_TYPE=${{ inputs.include_boot == 'true' && 'all' || 'platform' }}
+ echo "IMAGE_TYPE=${IMAGE_TYPE}" >> "$GITHUB_OUTPUT"
+
+ echo "RUN_NAME=${{ inputs.old }}_${{ inputs.new }}_${{ inputs.variant }}_${{ inputs.target }}_${IMAGE_TYPE}_${{ inputs.arch }}" >> "$GITHUB_OUTPUT"
+
+ BOOT_ARCH=$([ ${{ inputs.arch }} == "aarch64" ] && echo arm64 || echo ${{ inputs.arch }} )
+ echo "BOOT_OLD=https://download.tizen.org/snapshots/TIZEN/${{ inputs.old }}/${{ inputs.old }}-Unified/${{ inputs.version }}/images/standard/tizen-boot-${BOOT_ARCH}-${{ inputs.target }}/" >> "$GITHUB_OUTPUT"
+ echo "BOOT_NEW=https://download.tizen.org/snapshots/TIZEN/${{ inputs.new }}/${{ inputs.new }}-Unified/latest/images/standard/tizen-boot-${BOOT_ARCH}-${{ inputs.target }}/" >> "$GITHUB_OUTPUT"
+
+ echo "MAIN_OLD=https://download.tizen.org/snapshots/TIZEN/${{ inputs.old }}/${{ inputs.old }}-Unified/${{ inputs.version }}/images/standard/tizen-${{ inputs.variant }}-${{ inputs.arch }}/" >> "$GITHUB_OUTPUT"
+ echo "MAIN_NEW=https://download.tizen.org/snapshots/TIZEN/${{ inputs.new }}/${{ inputs.new }}-Unified/latest/images/standard/tizen-${{ inputs.variant }}-${{ inputs.arch }}/" >> "$GITHUB_OUTPUT"
+
+ - name: Build delta images
+ uses: ./mk_delta # For external action execution, use `tizen/upgrade-tools/mk_delta@tizen`.
+ with:
+ docker_image_tag: ${{ inputs.docker_tag }}
+ bart_id: ${{ inputs.bart_id }}
+ bart_key: ${{ inputs.bart_key }}
+ github_token: ${{ inputs.github_token }}
+ old_images: |
+ ${{ inputs.include_boot == 'true' && steps.prepare_env.outputs.BOOT_OLD || '' }}
+ ${{ steps.prepare_env.outputs.MAIN_OLD }}
+ new_images: |
+ ${{ inputs.include_boot == 'true' && steps.prepare_env.outputs.BOOT_NEW || '' }}
+ ${{ steps.prepare_env.outputs.MAIN_NEW }}
+ image_type: ${{ steps.prepare_env.outputs.IMAGE_TYPE }}
+ run_name: ${{ steps.prepare_env.outputs.RUN_NAME }}
+ target: ${{ inputs.target }}
+ arch: ${{ inputs.arch }}
+ output_repository: ${{ inputs.bart_repo }}
+ output_directory: ${{ inputs.bart_output_dir }}
- code-default
outputs:
docker_tag: ${{ steps.environment.outputs.docker_tag }}
- versions: ${{ steps.versions.outputs.versions }}
+ versions8: ${{ steps.versions8.outputs.versions }}
+ versions9: ${{ steps.versions9.outputs.versions }}
steps:
- name: Get Docker tag for this branch
bart_key: ${{ secrets.BART_KEY }}
search_pattern: "${{ env.BART_REPO }}/${{ env.BART_OUTPUT_DIR }}/Tizen8.0_Unified/"
target_quota: ${{ env.BART_TARGET_QUOTA }}
- - name: Prepare last 3 versions
- id: versions
+ - name: Cleanup Tizen 9-9 artifacts
+ uses: srpol-ar-glasses/actions/bart-size-cleanup@main
+ with:
+ bart_id: ${{ secrets.BART_ID }}
+ bart_key: ${{ secrets.BART_KEY }}
+ search_pattern: "${{ env.BART_REPO }}/${{ env.BART_OUTPUT_DIR }}/Tizen9.0_Unified/"
+ target_quota: ${{ env.BART_TARGET_QUOTA }}
+ - name: Prepare last 3 versions for Tizen 8
+ id: versions8
run: |
versions=$(curl https://download.tizen.org/snapshots/TIZEN/Tizen-8.0/Tizen-8.0-Unified/ \
| grep -e "href=.tizen" \
| sed -e 's/^.*>\([^<]\+\)<.*$/\1/' \
- | tail -n 3 \
+ | tail -n 4 \
+ | head -n 3 \
| awk 'BEGIN {ORS=""; print "["} {if (FNR != 1) print ", "; printf "\"%s\"",$1;} END {print "]\n"}')
echo "versions=$versions" >> "$GITHUB_OUTPUT"
+ cat $GITHUB_OUTPUT
+ - name: Prepare last 3 versions for Tizen
+ id: versions9
+ run: |
+ versions=$(curl https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/ \
+ | grep -e "href=.tizen" \
+ | sed -e 's/^.*>\([^<]\+\)<.*$/\1/' \
+ | tail -n 4 \
+ | head -n 3 \
+ | awk 'BEGIN {ORS=""; print "["} {if (FNR != 1) print ", "; printf "\"%s\"",$1;} END {print "]\n"}')
+ echo "versions=$versions" >> "$GITHUB_OUTPUT"
+ cat $GITHUB_OUTPUT
-
- build-delta:
+ build-delta-8:
runs-on:
- code-linux
- code-large
new:
- Tizen
version:
- - ${{ fromJSON(needs.prepare.outputs.versions) }}
+ - ${{ fromJSON(needs.prepare.outputs.versions8) }}
variant:
- headed
- headless
steps:
- name: Checkout sources
uses: code-actions/checkout@v4
-
- - name: Prepare environment
- run: |
- IMAGE_TYPE=${{ matrix.include_boot && 'all' || 'platform' }}
- echo "IMAGE_TYPE=${IMAGE_TYPE}" >> "$GITHUB_ENV"
-
- echo "RUN_NAME=${{ matrix.old }}_${{ matrix.new }}_${{ matrix.variant }}_${{ matrix.target }}_${IMAGE_TYPE}_${{ matrix.arch }}" >> "$GITHUB_ENV"
-
- BOOT_ARCH=$([ ${{ matrix.arch }} == "aarch64" ] && echo arm64 || echo ${{ matrix.arch }} )
- echo "BOOT_OLD=https://download.tizen.org/snapshots/TIZEN/${{ matrix.old }}/${{ matrix.old }}-Unified/${{ matrix.version }}/images/standard/tizen-boot-${BOOT_ARCH}-${{ matrix.target }}/" >> "$GITHUB_ENV"
- echo "BOOT_NEW=https://download.tizen.org/snapshots/TIZEN/${{ matrix.new }}/${{ matrix.new }}-Unified/latest/images/standard/tizen-boot-${BOOT_ARCH}-${{ matrix.target }}/" >> "$GITHUB_ENV"
-
- echo "MAIN_OLD=https://download.tizen.org/snapshots/TIZEN/${{ matrix.old }}/${{ matrix.old }}-Unified/${{ matrix.version }}/images/standard/tizen-${{ matrix.variant }}-${{ matrix.arch }}/" >> "$GITHUB_ENV"
- echo "MAIN_NEW=https://download.tizen.org/snapshots/TIZEN/${{ matrix.new }}/${{ matrix.new }}-Unified/latest/images/standard/tizen-${{ matrix.variant }}-${{ matrix.arch }}/" >> "$GITHUB_ENV"
-
- - name: Build delta images
- uses: ./mk_delta # For external action execution, use `tizen/upgrade-tools/mk_delta@tizen`.
+ - name: Build deltas Tizen-8.0 -> Tizen-9.0
+ uses: ./.github/actions/build-steps
with:
- docker_image_tag: ${{ needs.prepare.outputs.docker_tag }}
+ include_boot: ${{ matrix.include_boot }}
+ old: ${{ matrix.old }}
+ new: ${{ matrix.new }}
+ variant: ${{ matrix.variant }}
+ target: ${{ matrix.target }}
+ version: ${{ matrix.version }}
+ arch: ${{ matrix.arch }}
+ docker_tag: ${{ needs.prepare.outputs.docker_tag }}
bart_id: ${{ secrets.BART_ID }}
bart_key: ${{ secrets.BART_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- old_images: |
- ${{ matrix.include_boot && env.BOOT_OLD || '' }}
- ${{ env.MAIN_OLD }}
- new_images: |
- ${{ matrix.include_boot && env.BOOT_NEW || '' }}
- ${{ env.MAIN_NEW }}
- image_type: ${{ env.IMAGE_TYPE }}
- run_name: ${{ env.RUN_NAME }}
+ bart_repo: ${{ env.BART_REPO }}
+ bart_output_dir: ${{ env.BART_OUTPUT_DIR }}
+
+ build-delta-9:
+ runs-on:
+ - code-linux
+ - code-large
+ needs: prepare
+ strategy:
+ matrix:
+ old:
+ - Tizen
+ new:
+ - Tizen
+ version:
+ - ${{ fromJSON(needs.prepare.outputs.versions9) }}
+ variant:
+ - headed
+ - headless
+ arch:
+ - armv7hl
+ - armv7l
+ - aarch64
+ target:
+ - rpi4
+ include_boot:
+ - false
+ exclude:
+ - variant: headless
+ arch: armv7hl
+
+ steps:
+ - name: Checkout sources
+ uses: code-actions/checkout@v4
+ - name: Build deltas Tizen-9.0 -> Tizen-9.0
+ uses: ./.github/actions/build-steps
+ with:
+ include_boot: ${{ matrix.include_boot }}
+ old: ${{ matrix.old }}
+ new: ${{ matrix.new }}
+ variant: ${{ matrix.variant }}
target: ${{ matrix.target }}
+ version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- output_repository: ${{ env.BART_REPO }}
- output_directory: ${{ env.BART_OUTPUT_DIR }}
+ docker_tag: ${{ needs.prepare.outputs.docker_tag }}
+ bart_id: ${{ secrets.BART_ID }}
+ bart_key: ${{ secrets.BART_KEY }}
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ bart_repo: ${{ env.BART_REPO }}
+ bart_output_dir: ${{ env.BART_OUTPUT_DIR }}
+
summarize:
runs-on:
- code-linux
- code-large
- needs: build-delta
+ needs:
+ - build-delta-8
+ - build-delta-9
if: ${{ always() }}
steps: