name: Build and Upload RPM description: "Builds rpm for given spec file and uploads to hydrosaber gitea repository." inputs: spec-file-path: description: "Path to spec file for rpm" required: true package-group: description: "Group repository to upload package to" default: "43" repository-url: description: "Gitea repository to upload package to" default: "https://git.hydrosaber.com" repository-user: description: "User in repository to upload as" required: true repository-user-token: description: "Token to use with user" required: true runs: using: "composite" steps: - name: Setup workspace shell: bash env: SPEC_FILE_PATH: ${{ inputs.spec-file-path }} run: | mkdir -p ./rpmbuild/{RPMS,SPECS} cp ${SPEC_FILE_PATH} ./rpmbuild/SPECS - name: Build and Upload RPM shell: bash env: SPEC_FILE_PATH: ${{ inputs.spec-file-path }} ACTION_ROOT: ${{ gitea.action_path }} REPOSITORY_URL: ${{ inputs.repository-url }} PACKAGE_GROUP: ${{ inputs.package-group }} GITEA_ACTOR: ${{ gitea.actor }} UPLOAD_USER: ${{ inputs.repository-user }} UPLOAD_USER_TOKEN: ${{ inputs.repository-user-token }} run: | SPEC_FILE_NAME=$(basename ${SPEC_FILE_PATH}) podman run --rm \ -v ./rpmbuild:/root/rpmbuild:rw,z \ -v ${ACTION_ROOT}/entrypoint.sh:/root/entrypoint.sh:ro,z \ -w /root \ fedora:latest \ /root/entrypoint.sh /root/rpmbuild/SPECS/${SPEC_FILE_NAME} find ./rpmbuild/RPMS/ -name "*.rpm" -type f \ -exec curl \ --user ${UPLOAD_USER}:${UPLOAD_USER_TOKEN} \ --upload-file {} \ ${REPOSITORY_URL}/api/packages/${GITEA_ACTOR}/rpm/${PACKAGE_GROUP}/upload \;