Boyfriend issues... what do I do? (Long)

Ok so me and my boyfriends have been dating for a few months now (since February) and he new before we ever got together that I don’t like drugs or alcohol or weed. I don’t know I’m like weird with it. Like I’m ok if he has a few drinks and I’m ok if he puts a dip in. I have no choice for the dip cause he is addicted anyway. But he new I absolutely hate it if he were to pop some pills or smoke weed. I’m just not one of those girls and don’t like it, and don’t want to be with someone that does that.... so anyway me him and his friend went out and celebrated a little last night cause his friend just graduated, so they wanted to have a few beers. I was like ok, I don’t mind, just don’t get drunk. So his friend got shit faced and was throwing up like all night. The following morning I had to work and they came and visited me at work with his sister... now his sister isn’t the greatest person ever. She just got off of heroin and like to do a whole bunch of drugs and party. After that I hadn’t heard from him almost all day. I texted him when I got off of work and it took him like 3 hours to respond. He told me he was with Steven hanging out with his dad, so I believed him and he said he would be home in a few hours. Needless to say he never came home that night and his sister calls me up drunk telling me that He is “fucked up” and cross faded and all sorts of stuff. I already told him if he did anything like that I would leave him. we have already had problems like this in the past and I am just sick and tired of it. I always have to clean up his piss and throw up. And I feel like he totally doesn’t respect me.... what do you guys think I should do? Should I call it off, or what?