mirror of
https://github.com/davegallant/rfd-notify.git
synced 2025-08-05 16:23:39 +00:00
Publish container to ghcr.io (#101)
This commit is contained in:
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
|
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
name: ci
|
name: ci
|
||||||
|
|
||||||
|
67
.github/workflows/docker.yml
vendored
67
.github/workflows/docker.yml
vendored
@@ -1,27 +1,50 @@
|
|||||||
name: Publish Docker image
|
name: Publish Container
|
||||||
on:
|
on: [push]
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
jobs:
|
jobs:
|
||||||
push_to_registry:
|
push_to_registry:
|
||||||
name: Push Docker image to Docker Hub
|
name: Push to container registry
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the repo
|
- uses: actions/checkout@v2
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Publish version to Registry
|
- name: Prepare
|
||||||
uses: elgohr/Publish-Docker-Github-Action@master
|
id: prep
|
||||||
with:
|
run: |
|
||||||
name: davegallant/rfd-notify
|
IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/rfd-notify
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
VERSION=${GITHUB_REF##*/}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
tag_semver: true
|
if [[ $GITHUB_REF == refs/heads/main ]]; then
|
||||||
- name: Publish latest to Registry
|
VERSION=latest
|
||||||
uses: elgohr/Publish-Docker-Github-Action@master
|
fi
|
||||||
with:
|
|
||||||
name: davegallant/rfd-notify
|
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
VERSION=${GITHUB_REF#refs/tags/v}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
fi
|
||||||
tags: "latest"
|
|
||||||
|
TAGS="${IMAGE_NAME}:${VERSION}"
|
||||||
|
|
||||||
|
if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
|
||||||
|
TAGS="$TAGS,${IMAGE_NAME}:latest"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ::set-output name=tags::${TAGS}
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Login to GitHub Packages Docker Registry
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Push to Packages
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: ${{ steps.prep.outputs.tags }}
|
||||||
|
|
||||||
|
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -26,10 +26,14 @@ jobs:
|
|||||||
- uses: hecrj/setup-rust-action@v1
|
- uses: hecrj/setup-rust-action@v1
|
||||||
with:
|
with:
|
||||||
rust-version: stable
|
rust-version: stable
|
||||||
|
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cargo build --release --locked
|
run: cargo build --release --locked
|
||||||
|
|
||||||
- name: Upload binaries to release
|
- name: Upload binaries to release
|
||||||
|
|
||||||
uses: svenstaro/upload-release-action@v1-release
|
uses: svenstaro/upload-release-action@v1-release
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
FROM rust@sha256:b2fd2fcc9d28c1a6dc59c3b0b37913fd9a326c8e457e50617e1156fc1ad51e34 as build
|
FROM rust@sha256:f91b3dae52c0d99302366331e36cf6af8a923d36c68577df1f4d5a7c2721ca90 as build
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
FROM davegallant/rfd-notify:0.2.0
|
FROM ghcr.io/davegallant/rfd-notify:latest
|
||||||
|
|
||||||
ENTRYPOINT ["/rfd-notify", "-c", "config.yaml"]
|
ENTRYPOINT ["/rfd-notify", "-c", "config.yaml"]
|
||||||
|
@@ -59,7 +59,7 @@ pub async fn get_topic(topic_id: u32) -> Result<String, Box<dyn std::error::Erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_hot_deals(response: &str) -> Deals {
|
pub fn parse_hot_deals(response: &str) -> Deals {
|
||||||
serde_json::from_str(&response).unwrap()
|
serde_json::from_str(response).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_posts(response: String) -> Posts {
|
pub fn parse_posts(response: String) -> Posts {
|
||||||
@@ -89,7 +89,7 @@ pub fn match_deals(deals: Deals, config: Config, dbpath: &str) {
|
|||||||
)
|
)
|
||||||
} else if topic.offer.dealer_name.is_some() {
|
} else if topic.offer.dealer_name.is_some() {
|
||||||
let dealer_name = topic.offer.dealer_name.as_ref().unwrap();
|
let dealer_name = topic.offer.dealer_name.as_ref().unwrap();
|
||||||
if re.is_match(&dealer_name) {
|
if re.is_match(dealer_name) {
|
||||||
found_match = true;
|
found_match = true;
|
||||||
info!(
|
info!(
|
||||||
"Expression '{}' matched dealer: {}",
|
"Expression '{}' matched dealer: {}",
|
||||||
|
Reference in New Issue
Block a user