Skip to content

Commit

Permalink
Initialize LFS repo for storing packages
Browse files Browse the repository at this point in the history
Initialize LFS repo for storing packages.
Create README.md.
Initialize github workflow for building and deploying
debian packages.

Signed-off-by: Pavan Nikhilesh <[email protected]>
  • Loading branch information
PavanNikhilesh committed Dec 23, 2024
0 parents commit 8be8bc8
Show file tree
Hide file tree
Showing 2 changed files with 152 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.deb filter=lfs diff=lfs merge=lfs -text
151 changes: 151 additions & 0 deletions .github/workflows/push-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
name: Commit and deploy package

on:
repository_dispatch:
types: [dispatch-event]
permissions:
id-token: write
contents: write
actions: write

jobs:
deploy-debian-packages:
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
lfs: true
- name: Set Package version
id: version
run: |
echo 'TAG=${{ github.event.client_payload.tag }}' >> $GITHUB_OUTPUT
echo 'PACKAGE=${{ github.event.client_payload.package }}' >> $GITHUB_OUTPUT
echo 'HAS_DPDK=${{ github.event.client_payload.has_dpdk }}' >> $GITHUB_OUTPUT
echo 'DPDK_TAG=${{ github.event.client_payload.dpdk_tag }}' >> $GITHUB_OUTPUT
echo 'DISTRO=${{ github.event.client_payload.distro }}' >> $GITHUB_OUTPUT
echo 'DEVEL=${{ github.event.client_payload.devel }}' >> $GITHUB_OUTPUT
echo 'PLATFORM=${{ github.event.client_payload.platform }}' >> $GITHUB_OUTPUT
- name: Check variables
uses: action-pack/cancel@v1
if: ${{ steps.version.outputs.PLATFORM == '' || steps.version.outputs.DISTRO == '' || steps.version.outputs.PACKAGE == '' || steps.version.outputs.TAG == '' || steps.version.outputs.DEVEL == '' }}
- name: Wait for job to be cancelled
if: ${{ steps.version.outputs.PLATFORM == '' || steps.version.outputs.DISTRO == '' || steps.version.outputs.PACKAGE == '' || steps.version.outputs.TAG == '' || steps.version.outputs.DEVEL == '' }}
shell: bash
run: while true; do echo "Waiting for job to be cancelled"; sleep 5; done
- name: Import GPG Key
uses: crazy-max/[email protected]
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Download DPDK package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.HAS_DPDK == 'true' }}
with:
repository: "MarvellEmbeddedProcessors/marvell-dpdk"
tag: "${{ steps.version.outputs.DPDK_TAG }}"
fileName: "*.deb"
- name: Download DAO package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'dao' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OVS package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'ovs' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download VPP package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'vpp' }}
with:
repository: "MarvellEmbeddedProcessors/vpp"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download NGINX package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'nginx' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OPENSSL package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'openssl' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OCTEON EP package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'octeon-ep' }}
with:
repository: "MarvellEmbeddedProcessors/pcie_ep_octeon_target"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OCTEON CPT firmware package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'cpt-firmware' }}
with:
repository: "MarvellEmbeddedProcessors/marvell-firmware"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OCTEON ML firmware package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'ml-firmware' }}
with:
repository: "MarvellEmbeddedProcessors/marvell-firmware"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download OPENSSL ENGINE package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'engine' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Download ML Models package
uses: robinraju/[email protected]
if: ${{ steps.version.outputs.PACKAGE == 'ml-models' }}
with:
repository: "MarvellEmbeddedProcessors/dao"
tag: "${{ steps.version.outputs.TAG }}"
fileName: "*.deb"
- name: Commit packages
env:
EMAIL: [email protected]
run: |
ls -alh
git config --global user.name 'Github-accelerator-bot'
git config --global user.email "[email protected]"
DISTRO=${{ steps.version.outputs.DISTRO }}
[[ "${{ steps.version.outputs.DEVEL }}" == "false" ]] && DEVEL= || DEVEL=-devel
[[ "${{ steps.version.outputs.DEVEL }}" == "false" ]] && RELEASE_TYPE=release || RELEASE_TYPE=devel
FOLDER=${PWD}/${DISTRO}-${{ steps.version.outputs.PLATFORM }}${DEVEL}
mkdir -p ${FOLDER}
mv -f *.deb ${FOLDER}/.
cd ${FOLDER}
gpg --armor --export "${EMAIL}" > dao.gpg
dpkg-scanpackages --multiversion . > Packages
gzip -k -f Packages
apt-ftparchive release . > Release
gpg --default-key "${EMAIL}" -abs -o - Release > Release.gpg
gpg --default-key "${EMAIL}" --clearsign -o - Release > InRelease
DISTRO_PATH=`echo ${DISTRO} | awk -F'-' '{print$1"/v"$2}' | awk -F'.' '{print$1$2}'`
echo "deb [signed-by=/etc/apt/keyrings/dao.gpg] https://www.marvell.com/public/repo/octeon/dao/${{ steps.version.outputs.PLATFORM }}/${DISTRO_PATH}/${RELEASE_TYPE} ./" > dao.list
cd -
git add .
git log -1 --pretty=%B > msg
sed -i "/^Signed-off-by:/d" msg
sed -i -e :a -e '/^\n*$/{$d;N;ba' -e '}' msg
echo "`date "+%F %H:%M"` : "'${{ steps.version.outputs.PACKAGE }} : ${{ steps.version.outputs.TAG }} : ${{ steps.version.output.PLATFORM }} : ${{ steps.version.output.DEVEL }}' >> msg
cat msg
git commit --amend -s --message "$(cat msg)"
git push -f

0 comments on commit 8be8bc8

Please sign in to comment.